Changes for version 3.006 - 2017-09-23

  • lib/PDF/Builder/Page.pm POD glitch reported by Kwalitee fixed.
  • lib/PDF/Builder.pm update history to mention Text::PDF origin (requested by SPROUT)
  • lib/PDF/Builder/Win32.pm, examples/027_winfont moved to examples/Windows. examples/README, examples/examples.output, examples.bat, Makefile.PL, MANIFEST updated. The Windows-specific code in Win32.pm has not worked since at least Windows 7, and the demo doesn't do anything particularly useful. Rather than erasing the code, it is still available if you actually use it (move Win32.pm back to Builder/ and install Win32::Tie::Registry), and you can look at it for examples of Windows Registry access.
  • Makefile.PL cleanup and rearrangement (thanks to Johan Vromans). Note that the Perl minimum has been upped from 5.8.5 to 5.8.6, for better UTF-8 support, and a number of prereqs found in CORE have been removed. Still unresolved is the best way (and whether) to put $VERSION in all .pl and .pm files, or just Builder.pm, and the associated build process. Also under discussion is how to indicate when a file was last updated -- is there a better way than $LAST_UPDATE? It is provided as a local variable in case anyone wants to access it in their code.
  • examples/020_corefonts and examples/021_synfonts [ref #68, CTS 9] updated "@fonts" list to "@planes" to clarify that these fonts are 256 character planes of part of a font's glyph list. Also updated lib/PDF/Builder/Resource/Font.pm to document the automap() method, and lib/PDF/Builder.pm to mention that UTF-8 cannot be used in corefonts and psfonts (at least, non-CID fonts). PS (Type 1) fonts may use automap(), although such fonts are usually (non-CID) limited to 256 glyphs. In that case, automap() will return nothing for the extended planes.
  • lib/PDF/Builder.pm and lib/PDF/Builder/Resource/Font.pm update comments (POD) on character encoding (per Johan Vromans).
  • lib/PDF/Builder/Content/Hyphenate_basic.pm in basic hyphenation, split word with SHY (soft hyphen) instead of -, so a screen reader or other text scraper or resizable display knows it can omit the hyphen when gluing a word back together. A SHY is supposed to display as a normal hyphen -.
  • lib/PDF/Builder/Resource/XObject/Image/TIFF.pm (reported by Ivan Middleton) [ref RT 15730, Rejected] the BlackIs1 DecodeParm hash member was misspelled as Blackls1 (el instead of EYE). BlackIs1 has been added, and Blackls1 is now DEPRECATED. It will be removed some time after July 2018, so please update your code if you use it. The original bug report also stated that the value of this member /may/ be the reverse of what it should be, so further corrections to the code /may/ be necessary in the future.
  • lib/PDF/Builder.pm (per Johan Vromans) add $VERSION to Builder.pm so that a developer can run PDF::Builder directly from git.
  • Please read the DEPRECATED file (new) for a list of deprecated names and interfaces which will disappear at some time in the future!
  • The build process has been modified to ensure that all text (non-binary) files are now "Unix style" (LF for end-of-line) per Jeffrey Ratcliffe. Before, some text files were "DOS style" (CRLF for end-of-line), which caused problems for tools used by some Linux-based developers. DOS-only files, such as .bat files, have been left in DOS style.
  • lib/PDF/Builder.pm the default /Producer PDF tag had the producer's operating system in the string, which led to different PDF file lengths depending on which OS a PDF was produced on. This has been changed to a URL for the support area for this product. Of course, you can always override the Producer (and Creator) tags with whatever strings you want (see the info() call).
  • t-tests.bat (per Johan Vromans and Jeffrey Ratcliffe) add some comments on ways to run t tests in various situations.
  • examples/012_pages insert pages i-iii in front of other pages, to show how (for instance) a Table of Contents could be inserted after writing the rest of the document.
  • examples/ font display utilities change Unicode formatting to U+nnnn and align character description text under character box.
  • examples/021_psfonts added to display Type1 fonts (.pfa, .pfb glyph files and .afm, .pfm metrics files).

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
compress and uncompress stream filters for ASCII-85
compress and uncompress stream filters for ASCII-Hex
compress and uncompress stream filters for Flate
compress and uncompress stream filters for Lempel-Ziv-Welch
compress and uncompress stream filters for Run-Length
Literal PDF Object. Inherits from PDF::Builder::Basic::PDF::Objind
Inherits from PDF::Builder::Basic::PDF::String and stores PDF names (things beginning with /)
PDF Null type object. This is a subclass of PDF::Builder::Basic::PDF::Objind and cannot be subclassed.
Numbers in PDF. Inherits from PDF::Builder::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::Builder::Basic::PDF::Pages
a PDF pages hierarchical element. Inherits from PDF::Builder::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
additional specialized text-related formatting methods. Inherits from PDF::Builder::Content
Lightweight PDF creation methods
matrix operations library
Add named destination shortcuts to a PDF
Manage PDF outlines (a.k.a. bookmarks)
further Outline handling. Inherits from PDF::Builder::Outline
Methods to interact with individual pages
Base class for PDF resources. Inherit from PDF::Builder::Basic::PDF::Dict
Base class for font resources
Base class for CID fonts
Base class for CJK fonts
additional code support for TT font files. Inherits from PDF::Builder::Basic::PDF::Dict
Base class for PDF color spaces
colorspace handling for Device CMYK. Inherits from PDF::Builder::Reource::ColorSpace
base colorspace support for indexed color models. Inherits from PDF::Builder::Resource::ColorSpace
colorspace support for Device RGB. Inherits from PDF::Builder::Resource::ColorSpace::Indexed
colorspace support for "Web Safe" Device RGB colors. Inherits from PDF::Builder::Resource::ColorSpace::Indexed
Support for color space separations
translate color names into RGB settings
Graphics state dictionary support
some common support routines for font files. Inherits from PDF::Builder::Resource::BaseFont
Module for using bitmapped Fonts.
Module for using the 14 PDF built-in Fonts.
font-specific information for Bank Gothic font
font-specific information for regular Courier font
font-specific information for bold weight Courier font
font-specific information for bold weight + slanted Courier font
font-specific information for slanted Courier font
font-specific information for regular Georgia font
font-specific information for bold weight Georgia font
font-specific information for bold weight + italic Georgia font
font-specific information for italic Georgia font
font-specific information for regular Helvetica font
font-specific information for bold weight Helvetica font
font-specific information for bold weight + slanted Helvetica font
font-specific information for slanted Helvetica font
font-specific information for the Symbol font
font-specific information for bold weight Times font
font-specific information for bold weight + italic Times font
font-specific information for italic Times font
font-specific information for regular (roman) Times font
font-specific information for regular Trebuchet font
font-specific information for bold-weight Trebuchet font
font-specific information for bold weight + italic Trebuchet font
font-specific information for italic Trebuchet font
font-specific information for regular Verdana font
font-specific information for bold weight Verdana font
font-specific information for bold weight + italic Verdana font
font-specific information for italic Verdana font
font-specific information for WebDings symbol font
font-specific information for WingDings symbol font
font-specific information for Zapf Dingbats symbol font
support routines for using PostScript fonts. Inherits from PDF::Builder::Resource::Font
Module for using synthetic Fonts.
preparsed uniglyph.txt file information
list of standard paper sizes and their dimensions
support stub for patterns. Inherits from PDF::Builder::Resource
support stub for shading patterns. Inherits from PDF::Builder::Resource
Unicode Font Support
Base class for external objects
Base class for external form objects
Base class for one-dimensional barcodes
specific information for CodaBar bar codes. Inherits from PDF::Builder::Resource::XObject::Form::BarCode
Code 128 and EAN-128 barcode support
specific information for 3-of-9 bar codes. Inherits from PDF::Builder::Resource::XObject::Form::BarCode
specific information for EAN-13 bar codes. Inherits from PDF::Builder::Resource::XObject::Form::BarCode
specific information for int 2-of-5 bar codes. Inherits from PDF::Builder::Resource::XObject::Form::BarCode
support routines for Forms. Inherits from PDF::Builder::Content, PDF::Builder::Content::Text, and PDF::Builder::Resource::XObject::Form
Base class for external raster image objects
support routines for Graphics Development image library. Inherits from PDF::Builder::Resource::XObject::Image
support routines for GIF image library. Inherits from PDF::Builder::Resource::XObject::Image
support routines for JPEG image library. Inherits from PDF::Builder::Resource::XObject::Image
support routines for PNG image library. Inherits from PDF::Builder::Resource::XObject::Image
support routines for PNM (Portable aNy Map) image library. Inherits from PDF::Builder::Resource::XObject::Image
support routines for TIFF image library
support routines for finding line breakpoints with Unicode text
utility package for often-used methods across the package.

Provides

in lib/PDF/Builder/Content/Hyphenate_basic.pm