The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 2.039 - 2021-03-04

  • PDF::API2->open($filename) no longer reads the entire file into memory before working on it, instead reading from the file as needed. This results in a substantial reduction in memory usage and start-up time for large PDF files, particularly in cases where the calling script doesn't need to access all of the contents of the PDF.
  • PDF files containing cross-reference streams can now be modified and saved normally. Previously, they were read-only.
  • $text->paragraph(...) and $text->paragraphs(...) (formerly "section") are no longer undocumented and experimental. If you were previously using them at your own risk, note that "-spillover" is no longer an option (text will always wrap inside the specified width if possible). In addition, paragraphs(...) no longer collapses consecutive newlines.
  • [RT #98546] There is now an -align-last option for justified text to specify how the final line should be justified. Left is still the default.
  • Code in the PDF::API2::Basic::PDF namespace was originally licensed under the Perl Artistic License, which has been determined to not be (L)GPL-compatible. Martin Hosken has graciously granted an MIT license for use of his code contained in PDF::API2, so the distribution may now be used solely under the terms of the LGPL rather than requiring both licenses simultaneously. Many thanks to Petr Pisar for his help in working through the licensing issues.
  • Renamed $text->lead(...) to $text->leading(...). The old name is deprecated but will continue to work. If you're modifying PDF::API2 objects by editing their hash values instead of using these accessors, you'll need to update your code.
  • Added a -compress option (on by default) to PDF::API2->new(), open(), and open_scalar(). If disabled, most streams won't be compressed, which can simplify debugging.

Modules

Facilitates the creation and modification of PDF files
Add annotations to a PDF
Corresponds to a PDF array. Inherits from PDF::Objind
A special form of PDF::String which holds the strings true or false
PDF Dictionaries and Streams. Inherits from PDF::Objind
Holds the trailers and cross-reference tables for a PDF file
Abstract superclass for PDF stream filters
Inherits from PDF::API2::Basic::PDF::String and stores PDF names (things beginning with /)
PDF Null type object. This is a subclass of PDF::API2::Basic::PDF::Objind and cannot be subclassed.
Numbers in PDF. Inherits from PDF::API2::Basic::PDF::String
PDF indirect object reference. Also acts as an abstract superclass for all elements in a PDF file.
Represents a PDF page, inherits from PDF::API2::Basic::PDF::Pages
a PDF pages hierarchical element. Inherits from PDF::API2::Basic::PDF::Dict
PDF String type objects and superclass for simple objects that are basically stringlike (Number, Name, etc.)
Utility functions for PDF library
Methods for adding graphics and text to a PDF
lite pdf creation
Add named destination shortcuts to a PDF
Manage PDF outlines (a.k.a. bookmarks)
Methods to interact with individual pages
Base class for PDF resources
Base class for font resources
Base class for CID fonts
Base class for CJK fonts
Base class for PDF color spaces
Support for color space separations
Graphics state dictionary support
Module for using bitmapped Fonts.
Module for using the 14 PDF built-in fonts.
Module for using synthetic Fonts.
Unicode Font Support
Base class for external objects
Base class for external form objects
Base class for one-dimensional barcodes
Code 128 and EAN-128 barcode support
Base class for external raster image objects
utility package for often use methods across the package.

Provides

in lib/PDF/API2/Win32.pm
in lib/PDF/API2/Basic/PDF/Filter/ASCII85Decode.pm
in lib/PDF/API2/Basic/PDF/Filter/ASCIIHexDecode.pm
in lib/PDF/API2/Basic/PDF/Filter/FlateDecode.pm
in lib/PDF/API2/Basic/PDF/Filter/LZWDecode.pm
in lib/PDF/API2/Basic/PDF/Filter/RunLengthDecode.pm
in lib/PDF/API2/Basic/PDF/Literal.pm
in lib/PDF/API2/Content/Text.pm
in lib/PDF/API2/Matrix.pm
in lib/PDF/API2/Outlines.pm
in lib/PDF/API2/Resource/CIDFont/TrueType/FontFile.pm
in lib/PDF/API2/Resource/ColorSpace/DeviceN.pm
in lib/PDF/API2/Resource/ColorSpace/Indexed.pm
in lib/PDF/API2/Resource/ColorSpace/Indexed/Hue.pm
in lib/PDF/API2/Resource/ColorSpace/Indexed/WebColor.pm
in lib/PDF/API2/Resource/Colors.pm
in lib/PDF/API2/Resource/Font.pm
in lib/PDF/API2/Resource/Font/CoreFont/bankgothic.pm
in lib/PDF/API2/Resource/Font/CoreFont/courier.pm
in lib/PDF/API2/Resource/Font/CoreFont/courierbold.pm
in lib/PDF/API2/Resource/Font/CoreFont/courierboldoblique.pm
in lib/PDF/API2/Resource/Font/CoreFont/courieroblique.pm
in lib/PDF/API2/Resource/Font/CoreFont/georgia.pm
in lib/PDF/API2/Resource/Font/CoreFont/georgiabold.pm
in lib/PDF/API2/Resource/Font/CoreFont/georgiabolditalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/georgiaitalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/helvetica.pm
in lib/PDF/API2/Resource/Font/CoreFont/helveticabold.pm
in lib/PDF/API2/Resource/Font/CoreFont/helveticaboldoblique.pm
in lib/PDF/API2/Resource/Font/CoreFont/helveticaoblique.pm
in lib/PDF/API2/Resource/Font/CoreFont/symbol.pm
in lib/PDF/API2/Resource/Font/CoreFont/timesbold.pm
in lib/PDF/API2/Resource/Font/CoreFont/timesbolditalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/timesitalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/timesroman.pm
in lib/PDF/API2/Resource/Font/CoreFont/trebuchet.pm
in lib/PDF/API2/Resource/Font/CoreFont/trebuchetbold.pm
in lib/PDF/API2/Resource/Font/CoreFont/trebuchetbolditalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/trebuchetitalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/verdana.pm
in lib/PDF/API2/Resource/Font/CoreFont/verdanabold.pm
in lib/PDF/API2/Resource/Font/CoreFont/verdanabolditalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/verdanaitalic.pm
in lib/PDF/API2/Resource/Font/CoreFont/webdings.pm
in lib/PDF/API2/Resource/Font/CoreFont/wingdings.pm
in lib/PDF/API2/Resource/Font/CoreFont/zapfdingbats.pm
in lib/PDF/API2/Resource/Font/Postscript.pm
in lib/PDF/API2/Resource/Glyphs.pm
in lib/PDF/API2/Resource/PaperSizes.pm
in lib/PDF/API2/Resource/Pattern.pm
in lib/PDF/API2/Resource/Shading.pm
in lib/PDF/API2/Resource/XObject/Form/BarCode/codabar.pm
in lib/PDF/API2/Resource/XObject/Form/BarCode/code3of9.pm
in lib/PDF/API2/Resource/XObject/Form/BarCode/ean13.pm
in lib/PDF/API2/Resource/XObject/Form/BarCode/int2of5.pm
in lib/PDF/API2/Resource/XObject/Form/Hybrid.pm
in lib/PDF/API2/Resource/XObject/Image/GD.pm
in lib/PDF/API2/Resource/XObject/Image/GIF.pm
in lib/PDF/API2/Resource/XObject/Image/JPEG.pm
in lib/PDF/API2/Resource/XObject/Image/PNG.pm
in lib/PDF/API2/Resource/XObject/Image/PNM.pm
in lib/PDF/API2/Resource/XObject/Image/TIFF/File.pm
in lib/PDF/API2/UniWrap.pm
in lib/PDF/API2/Win32.pm