What we excluded (and why)
- Docling, Marker, PyMuPDF in the main delivery table—they read PDFs for RAG/agents, they do not replace a publish pipeline (covered under ingestion below).
What “PDF delivery” means here
- Fixed-layout PDF for distribution; includes fillable AcroForm when supported.
- K2F does not treat PDF as an editable agent source (
PDF_IS_NOT_A_SOURCE).
At a glance (delivery)
| Tool | PDF role | Forms | Agent / automation | Best when… |
|---|---|---|---|---|
| Adobe Acrobat / InDesign | Authoring, prepress | Advanced | Scripts; not LLM-first | Print/legal PDF |
| Microsoft Office | Save/print PDF | Basic | Copilot content → PDF | Office-centric |
| Typst | typst.app compile | Via generation | CLI in CI | Dev reports |
| WeasyPrint / Prince | HTML/CSS → PDF | Limited | Python/CI | Web report PDFs |
| Playwright / Puppeteer | Print to PDF | Usually flat | Common agent pattern | Quick HTML snapshot |
| Adobe PDF Services API | Cloud PDF APIs | Enterprise | REST automation | Signed/server PDF |
| Gamma / Canva | SaaS export | Flat typical | Prompt → export | Marketing PDF |
| K2F | Lock → PDF | AcroForm from form_field | Skill + pack_verify | Verified agent publish |
Incumbents
Adobe
- Acrobat and InDesign remain the professional PDF stack (review, prepress, signatures).
- Limitations: Poor machine-editability of arbitrary PDFs as semantic source.
Microsoft 365
- Word/PowerPoint export to PDF after Copilot-assisted drafting.
- Limitations: Cross-machine font variance unless controlled.
Developer pipelines
Typst, WeasyPrint, headless browser
- Typst: popular 2026 path for developer PDF reports (typst.app).
- WeasyPrint: HTML/CSS pagination in Python stacks.
- Playwright/Puppeteer: print CSS to PDF—watch environment drift.
Adobe PDF Services API
- Server-side create/combine/sign via Adobe’s developer APIs (Adobe Document Services).
- Limitations: Commercial API; separate from Creative Cloud desktop.
Creator SaaS
Gamma and Canva
- One-click flat PDF export from AI layouts.
- Limitations: Not integrity-verified packages; limited AcroForm.
PDF ingestion (not delivery)
Use these when agents consume PDFs—not when you need a golden publish artifact:
- Docling (IBM / open source): structured extraction for downstream LLM workflows.
- Marker and similar: PDF → markdown for analysis.
Do not confuse ingestion quality with layout-faithful republication.
K2F
- What it is: Compile semantic tree + theme → render lock → PDF paints the lock (exporting PDF).
- PDF facts (v0.3): Among K2F exports, PDF is pixel-identical to the published lock (Office formats allow slight reflow).
- Forms:
form_fieldnodes export to interactive AcroForm by default;--flattenpaints glyphs instead. - Integrity: Optional hashes/signatures and viewer banners (Integrity).
- Boundaries:
PDF_IS_NOT_A_SOURCE; no scanned PDF import as canonical semantics.
Choosing a path
- Prepress / PDF/A → Adobe stack; K2F for agent-origin PDF with locked layout.
- Fillable applications → K2F AcroForm or dedicated forms products.
- Parse PDF for RAG → Docling/Marker—not K2F import.
- Prove package unchanged → K2F integrity vs unsigned SaaS export.
Bottom line
Delivery PDFs should be generated from a known source (Typst, K2F lock, or controlled print). Ingestion tools solve a different problem.
Sources & freshness
| Product | Last verified | Primary source |
|---|---|---|
| Adobe | 2026-09 | adobe.com, developer.adobe.com |
| Typst | 2026-09 | typst.app |
| K2F | 2026-09 | exporting.md, exporting-pdf.md |
| Docling | 2026-09 | github.com/docling-project/docling |
This roundup is based on publicly available information at the time of writing. Capabilities, pricing, and policies may change; verify details with the relevant provider.