Changes for version 3.011 - 2018-10-25
- move .travis.yml.HOLD and dist.ini.old from the root to INFO/, to unclutter the root. It is unknown when and if they will ever be used.
- lib/PDF/Builder/Annotation.pm [ref RT 125917] minor fix to properly implement a default target page fit (-xyz), otherwise the link() method would not go to the desired target page. Some minor POD updates to indicate that some functionality depends on the PDF reader (e.g., mouseover text on a link). lib/PDF/Builder/XObject/Resource/Image/PNG.pm-PNG_IPL.pm minor POD updates
- lib/PDF/Builder/XObject/Resource/Image/PNG-PNG_IPL-TIFF-TIFF_GT.pm, Makefile.PL, MANIFEST, lib/PDF/Builder.pm, lib/PDF/Builder/Docs.pm, t/png.t [ref RT 124349] If libpng.a and its wrapper, Image::PNG::Libpng are installed, use them to process PNG files for inclusion into a PDF document. If this library is not installed, or the user directs that it is not be used via the -nouseIPL option, the existing pure Perl PNG library (PNG.pm) will be used. The new library (PNG_IPL.pm) is considerably faster than the old one and offers support for 16 bits per sample and interlaced images*. Documentation has been updated in TIFF and TIFF_GT, and functions LA_GT() and LA_IPL() have been added to Builder to check LibraryAvailability (package availability) for Graphics::TIFF and Image::PNG::Libpng, so you can know in advance whether it is safe to try to use certain image functionality.
- interlacing is removed during processing, so it is irrelevant to PDF, and 16bps channels (force PDF 1.5) can be reduced to 8bps, permitting PDF 1.4 output, by use of the -force8bps option.
- Makefile.PL try directing support issues to GitHub rather than CPAN RT
- lib/PDF/Builder.pm while working on 124349, I noticed that a partially transparent RGBA PNG file (white background made transparent) with -notrans option was showing as transparent. The problem was found to be that no options given in the image_png() call, such as -notrans, were being passed to the PNG image processing routine. This has been fixed.
- docs/buildDoc.pl modified to first look for .pod files, and then .pm files for producing documentation .html files. It still has some issues with finding too much input, but is generally workable. The POD search path needs further work, as references to other packages often don't work (don't produce a working link, but a severe error message).
- lib/PDF/Builder.pm internal routine proc_pages() renamed _proc_pages(), walk_obj() renamed _walk_obj(), and add POD for save() method. There is a release() method that is undocumented but it's not clear whether it's internal. Improve documentation of mediabox and other *box methods. lib/PDF/Builder/Annotation.pm-Matrix.pm-Outline.pm-Page.pm minor POD fixes. There are a lot of low level calls (e.g., Array.pm) that perhaps should not be considered as part of the User API (i.e., remove from POD).
- lib/PDF/Builder/Outline.pm-NamedDestination.pm-Annotation.pm, INFO/DEPRECATED deprecate pdfile() method and replace by pdf_file() (same as done earlier for Annotation.pm). pdfile() will be removed on or after October, 2020. lib/PDF/Builder/XObject/Resource/Image/TIFF_GT.pm-TIFF.pm, INFO/DEPRECATED remove warning and support for Blackls1 (should be BlackIs1).
- lib/PDF/Builder/Content.pm, examples/Content.pl [ref RT 124218] add -strikethru text capability similar to -underline. New example of strike-through in Content.pl examples.
- lib/PDF/Builder.pm [ref #93] Bringing PDF::Builder into the 21st century add -outver option (default: 1.4) to new() as output PDF version. It will be increased by any PDF file read in with a higher PDF level (with message) or by a call to version(). add -msgver option (default: 1) to output (value 1) a warning message when the PDF output version is increased by verCheckInput() or verCheckOutput(). A value of 0 suppresses the warning messages. add verCheckInput(version) to give warning if PDF just read in is of higher PDF version than the current version, and to increase the current version to that level. Implemented for reading of PDF files. WARNING: just because the PDF output version has been increased does NOT guarantee that any particular content will be handled correctly! There are many known cases of PDF 1.5 and up files being read in, that have content that PDF::Builder does not handle correctly, corrupting the resulting PDF. Pay attention to run-time warning messages that the PDF output level has been increased due to a PDF file being read in, and check the resulting file carefully. add verCheckOutput(version, description) to increase the output PDF version if a PDF feature that requires a higher PDF version is requested. At this time, there are no output features higher than 1.4. in version(), give warning if LOWERING the output PDF version (not suppressed by -msgver). lib/PDF/Builder.pm, lib/PDF/Builder/Basic/PDF/File.pm-Name.pm internally store PDF version as full number (e.g., 1.4) instead of just the minor version (e.g., 4), as PDF 2.0 has been announced. t/02-xrefstm.t, t/03-xrefstm-index.t both t-tests read in a PDF-1.5 file, so add a call to new(-outver=>1.5) to silence the warning message that the maximum version is being increased.
- lib/PDF/Builder/Resource/Basefont.pm-CIDFont.pm-UniFont.pm fix typo variable name $ident to $indent (indentation) lib/PDF/Builder/Resource/UniFont.pm [ref RT 126274/#96] (reporter: fcc_del) by adding missing indentation value to recursive text() call (rather than reporter's more complex fix).
- lib/PDF/Builder/Content.pm [ref RT 98539] (need to verify flatness function) close. According to PDF spec, there's no real way to tell by eye whether it's within tolerance, and results are unpredictable if you try to force visible line segments with a higher tolerance. Also update POD to clarify the range of permissible tolerance values, and silently clamp the input value to be in that range.
Modules
Facilitates the creation and modification of PDF files
Add annotations to a PDF
Corresponds to a PDF array. Inherits from PDF::Builder::Basic::PDF::Objind
A special form of PDF::Builder::Basic::PDF::String which holds the strings true or false
PDF Dictionaries and Streams. Inherits from PDF::Builder::Basic::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
Simple hyphenation capability
additional specialized text-related formatting methods. Inherits from PDF::Builder::Content
additional documentation for Builder module
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
TrueType font support
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::Resource::ColorSpace
base colorspace support for indexed color models. Inherits from PDF::Builder::Resource::ColorSpace
Adobe Color Table support
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 (using pure Perl code). Inherits from PDF::Builder::Resource::XObject::Image
support routines for PNG image library (using Image::PNG::Libpng). Inherits from PDF::Builder::Resource::XObject::Image
support routines for PNM (Portable aNy Map) image library. Inherits from PDF::Builder::Resource::XObject::Image
TIFF image support
support routines for TIFF image library
support routines for TIFF image library (Graphics::TIFF enabled)
TIFF image support (Graphics::TIFF enabled)
support routines for finding line breakpoints with Unicode text
utility package for often-used methods across the package.
Examples
- examples.bat
- examples/011_open_update
- examples/012_pages
- examples/020_corefonts
- examples/020_textrise
- examples/020_textunderline
- examples/021_psfonts
- examples/021_synfonts
- examples/022_truefonts
- examples/022_truefonts_diacrits_utf8
- examples/023_cjkfonts
- examples/024_bdffonts
- examples/025_unifonts
- examples/026_unifont2
- examples/030_colorspecs
- examples/031_color_hsv
- examples/032_separation
- examples/040_annotation
- examples/041_annot_fileattach
- examples/050_pagelabels
- examples/055_outlines
- examples/060_transparency
- examples/BarCode.pl
- examples/Bspline.pl
- examples/Content.pl
- examples/ContentText.pl
- examples/README
- examples/Windows/027_winfont
- examples/examples.output
- examples/resources/aptfrontview.jpg
- examples/resources/pod2htmd.temp
- examples/resources/sample.txt
- examples/resources/sample_55.pdf