Documentation Guides
Hands-on guides covering installation, architecture, accessibility, and common questions. For the full API surface, see the API reference in the README.
- Onboarding → 90-second start for the full ecosystem — library v1.3.0, pdfnative-cli v1.1.0, pdfnative-mcp v1.0.0, and pdfnative-react v0.2.0. Install + first call for each.
- Quick Start → Install pdfnative and generate your first PDF in Node.js or the browser in under a minute.
- Architecture → Two builders, generation pipeline, module dependency flow, and key design decisions.
- FAQ → Custom fonts, PDF/A variants, encryption, BiDi, browser/Deno/Bun, signatures, workers, and comparison with other libraries.
- Troubleshooting → Fixes for missing glyphs, RTL text appearing backwards, PDF/A validation failures, oversized PDFs, parser errors.
- Accessibility → Tagged PDF, structure tree, /ActualText, PDF/UA, PDF/A — building accessible PDFs that screen readers and archive validators accept.
- PDF/A conformance → PDF/A-1b, 2b, 2u, 3b — full veraPDF conformance with the v1.1.0 Latin font embedding and XMP parity fixes.
-
Digital signatures →
CMS/PKCS#7 detached signatures — RSA + ECDSA P-256, one-call
addSignaturePlaceholder()workflow, Adobe Reader / openssl-cms validation. - Smart tables → Multi-page tables — auto-wrap, repeated headers, zebra striping, captions, smart auto-fit columns. Planner-driven architecture, byte-identical to v1.1.0 on unchanged input.
- Colour emoji → v1.3.0 COLRv1 colour emoji — opt-in Noto Color Emoji subset, solid + linear + radial gradient layers rendered as native PDF Form XObjects. Monochrome fallback when not registered.
-
Streaming output →
v1.3.0 true constant-memory streaming —
buildDocumentPDFStreamTrue()yields chunks while freeing each part, so the full PDF binary never materialises. Plus fixed-size and object-boundary variants. -
MCP Integration →
Use pdfnative from Claude Desktop, Cursor, Continue, and Zed via pdfnative-mcp v1.0.0 — 12 tools (incl.
verify_pdf,add_attachment,extract_text),pdfAflag, multi-scriptlang, and a signed-document workflow. -
CLI →
pdfnative-cli v1.1.0 — render, sign, inspect, verify, batch, and emit JSON Schemas from the terminal. Stdin/stdout pipelines, constant-memory streaming, PDF/UA & PDF/A checks, PAdES-T verification, secret-safe signing, and an agent-native
--json/E_*/--dry-runcontract. -
React →
pdfnative-react v0.2.0 — build PDFs declaratively with JSX. A custom React reconciler compiles
<Document>/<Table>/<Barcode>on-device to pdfnative blocks. Live-preview hooks, streaming, and a token-frugalDocSpec. React 19 peer dep on the React package only — the engine stays zero-dependency.
Looking for samples?
The repository ships with 32 generator categories producing 187 sample PDFs covering every feature: financial statements, multi-language documents, barcodes, SVG, watermarks, forms, encryption, signatures, streaming, parser, smart tables, and stress tests.
Interactive playgrounds
-
MCP tool explorer →
Browse the twelve pdfnative-mcp v1.0.0 tools (including
verify_pdf,add_attachment,extract_text), copy a ready-to-paste config snippet for Claude / Cursor / Continue / Zed, and generate the same PDFs an AI assistant would receive — all in your browser. -
CLI command builder →
Compose
pdfnative-cliv1.1.0 commands (render / sign / inspect / verify / batch / schema) interactively — with--watch,--template,--stream-true, ECDSA-SHA256, PAdES-T detection, and one-click presets. - React renderer → Write JSX in the browser and render a real PDF on-device via pdfnative-react v0.2.0 — components compile to pdfnative blocks with no SaaS round-trip. Loaded from a CDN for the demo; the published package stays zero-dependency at its core.
- Extreme scripts playground → Stress-test BiDi (Arabic + Hebrew + Thai), Tamil deep conjuncts, Bengali & Devanagari reph + ligature chains, and isolated Arabic harakat directly in the browser.
- Medical 800-page Web Worker playground → Generate a synthetic 800-page clinical report off the main thread using a Web Worker. Live progress, streaming output, optional Tagged PDF.
Contributing
Found a typo, an unclear paragraph, or a missing topic? Edit the underlying .md file directly on GitHub and open a pull request. See CONTRIBUTING.md for branch naming conventions (docs/*).