Changes for version 1.50

  • ENHANCEMENTS
    • Support for reading PDF 1.5 compressed object streams and cross reference streams. (we cannot write this style, but we can append to it)
  • FIXES
    • Decompression of PNG-filtered streams was totally broken.
    • Deleting pages now also deletes back references from annotations on that page.
    • cleanse() now removes PieceInfo data. I have no idea what PieceInfo does, but it had a whole bunch of page back links that broke page deletion.

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