Revision history for Perl module CAM::PDF 1.21 13 Aug 2008 [FIXES] - Permit comments after the %%EOF, like Adobe Reader does. Thanks to Malcolm Cook for pointing out the incompatibility. 1.20 26 Jun 2008 [ENHANCEMENTS] - Support for Type 2 encryption (just reading, not writing) - Support for reading PDFs where the owner and user passwords are different - Improvement to performance of node traversal, inspired by RT #35555 (credit Eric Hall and his anonymous employee). 1.13 23 Apr 2008 [FIXES] - setpdfbackground.pl computed RGB values incorrectly. Thanks to Andrew Cadman for finding the bug and suggesting a fix 1.12 27 Nov 2007 [FIXES] - I just realized that CAM::PDF::Renderer::Text was useless because it just printed to STDOUT. Fixed to offer a toString() method instead. Fuse::PDF wants this feature. - Fixed a typo in the Synopsis of CAM::PDF::Content 1.11 20 Nov 2007 [ENHANCEMENTS] - added previousRevision() and allRevisions() [invented in Fuse::PDF] [INTERNALS] - Compliance with Perl::Critic v1.080 1.10 24 Mar 2007 [FIXES] - RT #25306, regression in rangeToArray 1.09 25 Feb 2007 [FIXES] - Restore Perl 5.6.x compatibility which was broken in 1.08 (credit Brian Casey of rootlevelservices.com) - Detect end-image tag accidentally embedded with an inline image (credit Christian Drechsler) [INTERNALS] - Changed maintainer from CLOTHO@cpan.org to CDOLAN@cpan.org 1.08 17 Oct 2006 [FIXES] - Add binmode() for Windows (RT #22136) - Fix addFont() where there is no 'Font' property (RT #22049) [INTERNALS] - Compliance with Perl::Critic v0.21 and Bangs - Moved the examples from scripts/ to bin/ 1.07 11 Jul 2006 [ENHANCEMENTS] - Add background_color options to fillFormFields [FIXES] - Add binmode() for Windows (RT #22136) - Documentation and copyright year [INTERNALS] - Compliance with Perl::Critic v0.17 1.06 20 Mar 2006 [ENHANCEMENTS] - Added scripts/setpdfbackground.pl program - Added getPageDimensions() method 1.05 06 Dec 2005 [FIXES] - Forgot to import Carp::cluck 1.04_01 30 Nov 2005 [ENHANCEMENTS] - Docs [INTERNALS] - Refactoring - Add an ENV flag to skip some tests 1.03 20 Oct 2005 [ENHANCEMENTS] - Regression tests [FIXES] - Fixes for deletePages with initial support for Dests and Outlines [INTERNALS] - Some code cleanup 1.02_01 18 Oct 2005 Broken CPAN release! [ENHANCEMENTS] - Add options hash to the constructor. - Documentation [FIXES] - Regression: parseStream must be able to be called as a class method [INTERNALS] - Code refactoring. 1.01 20 Sep 2005 [INCOMPATIBLE] - The API for CAM::PDF::Decrypt changed. Several methods now require a CAM::PDF instance as a first argument. [FIXES] - Remove instances of circular references so CAM::PDF instances are able to be garbage collected. 1.00 19 Sep 2005 [FIXES] - Fix an artificial limitation of the encryption module 0.99 22 Apr 2005 First CPAN release [INCOMPATIBLE] - Relicence from GPL-only to GPL+Artistic [FIXES] - Debug asciify shell script - Read error on fontmetrics Width array (bounds error) [INTERNALS] - Add handy nodeType function 0.98 30 Nov 2004 [ENHANCEMENTS] - Added better position support to GS - Added support for color devices in G - Prepend [FIXES] - addFont now checks that the font does not exist before adding [INTERNALS] - load Data::Dumper on demand only 0.97 09 Nov 2004 [FIXES] - Tree validation fixes - Pass textwidth into the renderText() function - Page validation: string vs. hexstring 0.95 18 Jun 2004 [ENHANCEMENTS] - New methods: addFont, wrapString [FIXES] - Debugged: graphic state computation 0.94 13 May 2004 [ENHANCEMENTS] - New methods: getFontNames getFonts getFontByBaseName deEmbedFontByBaseName deEmbedFontObj - pdfinfo.pl - more detailed output - deillustrate.pl - new script to remove Illustrator metadata [FIXES] - disable the "node has only one kid and no parent" error This is a case where the delete code does a poor job of maintaining a balanced page tree and then complains about it's own bad work. This should eventually be fixed, but for now, removing the die() is good enough. 0.93 29 Mar 2004 [FIXES] - Fix for font de-embedding to remove unused font widths 0.92 30 Jan 2004 [ENHANCEMENTS] - Add deEmbedFont() method [FIXES] - Fix a new bug in the page range code 0.91 30 Jan 2004 [ENHANCEMENTS] - Add listfonts.pl [FIXES] - Fix bug regarding page number ranges in getpdftext.pl and rendertext.pl - Fix MANIFEST 0.90 18 Sep 2003 [INCOMPATIBLE] - Rename revert.pl to revertpdf.pl [ENHANCEMENTS] - Add documentation to all scripts - Ensure that all scripts respect PDF Modify permission [INTERNALS] - Add functions to facilitate testing PDF permissions 0.80 16 Sep 2003 [ENHANCEMENTS] - Lots and lots and lots of documentation - Use Module::Build [FIXES] - Caught a couple little bugs in Decrypt.pm - Clean up some obsolete code in the Decrypt module 0.75 11 Sep 2003 [FIXES] - Fix little bug in getStringWidth method - Minor bugfix in debugging function 0.74 29 Aug 2003 [FIXES] - Better handling for loading Text::PDF::Filter library [INTERNALS] - Split GS.pm into two parts for performance 0.73 11 Aug 2003 [FIXES] - Font metric widths were not properly dereferenced, in the case of indirect objects - Page content "cm" directives (transform user coordinate system matrix) were replacing the current matrix instead of appending to it. 0.72 26 Jun 2003 [ENHANCEMENTS] - Add documentation for extractPages [FIXES] - rangeToArray() bug fixes in the corner cases, added tests - Fix number of tests 0.71 25 Jun 2003 [ENHANCEMENTS] - add extractPages() - add more tests [FIXES] - Fix bug in deletePages 0.70 24 Jun 2003 [ENHANCEMENTS] - Convert parser to non-destructive for higher speed [FIXES] - Fix a bug in the test script 0.65 24 Jun 2003 [ENHANCEMENTS] - Add toPDF() and needsSave() methods. 0.64 24 Jun 2003 [ENHANCEMENTS] - Add PDF.pm dcumentation - Add isLinearized() method - Add more output for pdfinfo.pl [FIXES] - Fix bug in syntax for page "d" element (numbers, not just integers) 0.63 22 Jun 2003 [ENHANCEMENTS] - Added PDF test document - Added pdfinfo.pl script - Added toString method on CAM::PDF::Content class - Added writeInlineImage method to support above [FIXES] - Simple bug fix in writeAny error message 0.62 09 Jun 2003 [ENHANCEMENTS] - Add Images renderer - findImages() content method - Add prependPDF to function list [FIXES] - bug fix 0.61 22 Apr 2003 [ENHANCEMENTS] - Added prependPDF(), deletePages(), and rangeToArray() methods - test.pl overhaul - a little debugging output in getPage() 0.60 04 Apr 2003 [ENHANCEMENTS] - Graphics state and rendering, some little code clean ups - Make output function more mod-perl friendly - Add page content validation - Add parsing of inline images - Add better Tj/TJ handline - Add check option to getpdftext.pl - Simplify BT treatment - Enhance the content reading by using native PDF data type parsing (converted the parsing functions to be either instance or class methods) - Special heuristic treatment of TJs [FIXES] - Add getpdftext.pl to the manifest 0.50 01 Apr 2003 [ENHANCEMENTS] - Add page content parsing - Add script to output page text content - Overhauled fillForm to do things like use inherited form field values, do justified text, do autosized text. This requires the use of the Text::PDF font utilities. - Handle multiline form widgets [FIXES] - Fix font autosizing to account for multiline fields 0.42 19 Feb 2003 [ENHANCEMENTS] - Add getFont() function and supporting script - Add deletePage() function - Add deletepdfpage.pl script [FIXES] - Expect Encoding key in resource dictionary - Expect font size zero in form widgets TO DO: properly treat font size zero as autoscaled font 0.39 28 Oct 2002 [ENHANCEMENTS] - Add return of number of successes to fillformfields 0.38 28 Oct 2002 [ENHANCEMENTS] - Added clearAnnotations and addPageResources [FIXES] - Fix appendPDF - Add appendpdf.pl to the MANIFEST 0.37 04 Oct 2002 [ENHANCEMENTS] - Add appendPDF() function and a script to facilitate PDF merging - Support for removal of decryption blocks - deleteObject function - Add support for the "null" object type [FIXES] - Fix and enable the cleanse function. I can't make this function fail any longer. Yay! - Fix typo for free block in xref dictionary creation - Catch undef objects in fillFormFields 0.35 29 Jul 2002 [ENHANCEMENTS] - Add clearFormFieldTriggers function - Make buildNameTable work on fonts as well as xobjects [FIXES] - Fix dereference() documentation. - Change "if" to "while" in check for cmd line arguments [INTERNALS] - Moved uninlineImages function into library from script - Made some improvements to the embedded image detection logic - Change data structure for nodes from arrayref to object (hashref) 0.31 14 May 2002 [INTERNALS] - Reorganize directory 0.30 13 May 2002 [INCOMPATIBLE] - Change package name from PDF to CAM::PDF [ENHANCEMENTS] - lots and lots of documentation [FIXES] - fix undef bug in getFormField 0.23 26 Apr 2002 bugfixes 0.22 19 Apr 2002 [ENHANCEMENTS] - Password fields - Make Makefile.PL smarter -- read MANIFEST itself [FIXES] - Fix delinearize for non-linearized files - Font tweaks in form filling - Add listpdffields.pl to the manifest 0.21 15 Apr 2002 [FIXES] - Improvements to form handling - Bug fixes in output of xref 0.20 12 Apr 2002 [ENHANCEMENTS] - Add .pl files to manifest 0.10 12 Apr 2002 [INCOMPATIBLE] - Change how the changestring code works with regex values [ENHANCEMENTS] - Form fields - Remove extra files from make process - Support for: different PDF versions concatenated strings \ continued lines \ escaped characters cleaner output formatting some dictionary sorting (special cases) - mac2unix support in asciify - verbose option in extractallimages.pl - pdf versioning in rewritepdf.pl - new revision reversion tool [FIXES] - Fix bug for \n in string - Fix string output implementation (used to break Acrobat5 and Xpdf) 0.01 13 Mar 2002 [ENHANCEMENTS] - JPG options; PDF stamping functions - Cmd line options for tweaking jpg compression - Add JPEG quality flag - Added support for messing with images [FIXES] - Fix bug in escaped strings - Fix permission modification 0.01 22 Feb 2002 [ENHANCEMENTS] - encryption/decryption - some documentation 0.01 18 Feb 2002 [ENHANCEMENTS] - Search-and-replace text in a PDF doc - Program to change all reference objects - add cleanse feature (which breaks acrobat), fix some traverse bugs - Inline image uninlining 0.00 15 Feb 2002 Initial import