Changes for version 1.20

  • 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).

Documentation

Append one PDF to another
Search and replace in all PDF pages
Search and replace in PDF metadata
Search and replace PDF object numbers in the Trailer
Compress all JPG images in a PDF
Remove Adobe Illustrator metadata from a PDF file
Remove one or more pages from a PDF
Save copies of all PDF images to a directory
Save copies of all PDF JPG images to a directory
Replace PDF form fields with specified values
Print the PDF form field names
Print the PDF page layout commands
Print the PDF page metadata
Extracts and print the text from one or more PDF pages
Print details of the fonts used in the PDF
Save copies of all PDF JPG images to a directory
Print the PDF form field names
Print information about PDF file(s)
Read a PDF document
Applies a renderer to one or more PDF pages
Copy a metadata object from one PDF to another
Remove the last edits to a PDF document
Rebuild a PDF file
Apply a background color to a PDF page
Replace a page of PDF layout
Apply a mark to each page of a PDF
Save copies of all PDF JPG images to a directory

Modules

PDF manipulation library
PDF page layout parser
PDF security helper
PDF graphic state
PDF graphic state
PDF element
Extract text from PDF page tree
Print the graphic state of each node
Find all of the images in a page
Render an ASCII image of a PDF page
Framebuffer for CAM::PDF::Renderer::Text