Changes for version 0.13 - 2026-08-31

  • Fix: the backward scan for startxref compared the keyword from positions where fewer than nine bytes remained, reading past the end of the file buffer. Harmless slack on most allocators, a SIGSEGV on OpenBSD when the buffer ended on a page boundary.
  • Fix: the %PDF- version digits are parsed within the buffer, so a file whose digits run to EOF cannot walk off it.

Documentation

render document templates to PDF from the command line

Modules

PDF generation, parsing, and editing
PDF action objects for navigation and interactivity
Memory arena for PDF object allocation
Embed file attachments in PDF documents
High level chainable PDF document builder
Font registry and metrics for PDF::Make
Base class for form field components
Dropdown combo box form field
Scrollable list form field
Radio button group form field
Image embedding for PDF::Make
Grid-based layout for PDF content
Page state and layout for PDF::Make
Repeating page footer for PDF::Make
Repeating page header for PDF::Make
Region-aware helpers for header/footer render callbacks
line breaking across styled inline runs
Filled or stroked rectangle for PDF::Make
Filled circle for PDF::Make
Filled ellipse for PDF::Make
Line shape for PDF::Make
Pie (arc wedge) shape for PDF::Make
Builder helper for custom visible-signature appearance streams
Table of contents for PDF::Make
TOC entry data class for PDF::Make
Word-wrapped text paragraph for PDF::Make
Level-1 heading preset for PDF::Make
Level-2 heading preset for PDF::Make
Level-3 heading preset for PDF::Make
Level-4 heading preset for PDF::Make
Level-5 heading preset for PDF::Make
Level-6 heading preset for PDF::Make
PDF content stream builder
Color spaces and color conversion
PDF encryption support for PDF::Make
PDF document structure and file emission
Extract text, annotations, forms, and tables from PDF pages
A block of text lines
A line of text words on a common baseline
Structured text extraction result
A word with position and font information
PDF form field for PDF::Make
Low-level XS form field pointer API
Perl access to PDF stream filters (Flate, ASCII85, LZW, etc.)
Font handling for PDF generation
Standard 14 font constants and utilities
PDF interactive forms (AcroForms) for PDF::Make
Low-level XS AcroForm pointer API
Image embedding for PDF documents
Import pages and indirect objects from a parsed PDF
Optional Content Groups (PDF Layers)
PDF Linearization (Fast Web View) support
compile a markup tree onto PDF::Make::Builder
which pages changed between two renders
the rules a template runs under
template and data in, PDF out
attributes, values and inheritance for the markup
PDF object wrapper
PDF page object
Parse existing PDF files
Read page information from parsed PDFs
Mark and apply content redactions
Native path rendering for PDF content
Render PDF pages to pixel buffers
Digital signature support for PDF documents
Tagged PDF structure tree
Deprecated alias for PDF::Make::Extract
Watermarks and page stamps
PDF object serializer

Provides

in lib/PDF/Make/Builder/Layout/Cell.pm
in lib/PDF/Make/Builder/Layout/Row.pm
in lib/PDF/Make/Signature.pm
in lib/PDF/Make/Markup/Parse.pm
in lib/PDF/Make/Signature.pm
in lib/PDF/Make/Signature.pm
in lib/PDF/Make/Linearization.pm
in lib/PDF/Make/Text/Block.pm
in lib/PDF/Make/Text/Line.pm
in lib/PDF/Make/Text/Result.pm
in lib/PDF/Make/Text/Word.pm

Examples