Changes for version 0.11 - 2026-08-17
- New: PDF::Make::Markup::Diff - which pages changed between two renders, and what text moved, from structured extraction with positions.
- Fix: blocks inside a <box> flowed onto one line.
- Fix: a font size override kept the base font's leading, so a <text size="20"> after a 9pt base got a 9pt slot and the block after it was drawn straight through it.
- Fix: text in a cell now starts at the top of its line height.
- New: spacing= works on a block inside a <box>.
- t/56-golden-corpus.t is now an author test (AUTHOR_TESTING=1).
- Fix: Document::add_outline swallowed every bookmark after the first.
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
Push button form field
Checkbox form field
Dropdown combo box form field
Scrollable list form field
Radio button group form field
Text input 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
- examples/01_basics/fonts_and_ttf.pl
- examples/01_basics/hello_world.pl
- examples/01_basics/multi_page.pl
- examples/01_basics/styled_text.pl
- examples/02_layout/columns.pl
- examples/02_layout/flex_layout.pl
- examples/02_layout/header_footer_ctx.pl
- examples/02_layout/layout_rows_and_cells.pl
- examples/02_layout/overflow_and_paging.pl
- examples/02_layout/page_header_footer.pl
- examples/03_navigation/external_links_and_actions.pl
- examples/03_navigation/internal_links.pl
- examples/03_navigation/outlines_bookmarks.pl
- examples/03_navigation/toc.pl
- examples/04_graphics/color_spaces.pl
- examples/04_graphics/images.pl
- examples/04_graphics/layers.pl
- examples/04_graphics/shapes.pl
- examples/04_graphics/watermarks.pl
- examples/05_forms_and_annotations/flatten_form.pl
- examples/05_forms_and_annotations/form_fields.pl
- examples/05_forms_and_annotations/notes_and_stamps.pl
- examples/06_document_features/attachments.pl
- examples/06_document_features/bates_numbering.pl
- examples/06_document_features/encryption.pl
- examples/06_document_features/redaction.pl
- examples/06_document_features/signatures.pl
- examples/06_document_features/signatures_image.pl
- examples/06_document_features/tagged_pdf.pl
- examples/07_extract/01_extract_plain_text.pl
- examples/07_extract/02_extract_batch_pages.pl
- examples/07_extract/03_extract_structured.pl
- examples/builder_demo.pl
- examples/builder_enhanced.pl
- examples/builder_toc.pl
- examples/layers.pl
- examples/layout_demo.pl
- examples/layout_width_probe.pl
- examples/styled.pl