Get your API key

Guides for PDF development

Guides, tutorials, and tips for working with PDFs: from free tools to programmatic generation.

MCP vs A2A for document generation, which protocol exposes your PDF API
AI & PDF

MCP vs A2A for document generation, which protocol exposes your PDF API

MCP lets an agent call a tool. A2A lets an agent delegate a task to another agent. A verified comparison, and what it means for a PDF generation API.

MCP Apps: what an interactive PDF preview inside Claude would look like
AI & PDF

MCP Apps: what an interactive PDF preview inside Claude would look like

MCP Apps let an MCP server render interactive HTML inside the chat. Here is what a PDF preview would look like instead of a signed URL you open in a tab.

Node.js 26 goes LTS in October 2026: what changes for your PDF Docker image
Developer Guides

Node.js 26 goes LTS in October 2026: what changes for your PDF Docker image

Node 26 enters LTS on 28 October 2026 and Node 27 starts a one-major-per-year schedule. What it means for a headless Chromium PDF container.

Migrating an HTML to PDF pipeline to Puppeteer 25: ESM, Node 22, async executablePath
Developer Guides

Migrating an HTML to PDF pipeline to Puppeteer 25: ESM, Node 22, async executablePath

Puppeteer 25 is ESM-only and needs Node 22.12. The exact package.json, tsconfig and Dockerfile diffs, plus the awaits you now have to add.

OpenAI is shutting down Agent Builder: what it means for document workflows
News

OpenAI is shutting down Agent Builder: what it means for document workflows

OpenAI shuts down Agent Builder and the Evals platform on November 30, 2026. Here is how to move a PDF workflow to code before the deadline.

TypeSafe Jev and the System One model: schema-valid is not correct
News

TypeSafe Jev and the System One model: schema-valid is not correct

Jev returns typed decisions instead of text. The output is guaranteed schema-valid, not factually right. Why "zero hallucination" is a misnomer.

CVE-2026-39919: the Ghostscript heap overflow that -dSAFER does not stop
News

CVE-2026-39919: the Ghostscript heap overflow that -dSAFER does not stop

CVE-2026-39919 is a heap buffer overflow in Ghostscript before 10.08.0, reached through a JPEG 2000 image in a PDF. -dSAFER does not mitigate it.

MCP goes stateless: what the 2026-07-28 spec changes for PDF servers
News

MCP goes stateless: what the 2026-07-28 spec changes for PDF servers

The MCP 2026-07-28 revision drops the initialize handshake and session IDs. Here is what changes for a PDF generation server, with verified spec quotes.

Chrome V8 zero-days in 2026: the threat model of an HTML-to-PDF service
News

Chrome V8 zero-days in 2026: the threat model of an HTML-to-PDF service

Four of 2026's seven exploited Chrome zero-days hit V8. What that means for HTML-to-PDF: patch cadence, bundled Chromium lag, isolation.

How we built a client-side PDF compressor (no uploads, text stays selectable)
Developer Guides

How we built a client-side PDF compressor (no uploads, text stays selectable)

Recompressing images inside a PDF with pdf-lib, DecompressionStream, PNG predictors, and OffscreenCanvas workers, entirely in the browser.

How to generate a purchase order PDF (template + API)
Business Documents

How to generate a purchase order PDF (template + API)

Generate purchase order PDFs from an HTML template with dynamic line items, then render with a headless browser or a hosted API. Node.js and Python code.

How to add a digital signature to a PDF programmatically
PDF Security

How to add a digital signature to a PDF programmatically

Digitally sign a PDF in code: the difference between a visible signature image and a cryptographic PKCS#7 signature, with Node.js and Python libraries.

Ready to generate PDFs programmatically?

Start free