# react-print-pdf > Browser-side React-to-vector-PDF library. Reads the live DOM and emits real PDF primitives via pdf-lib — selectable text, embedded fonts, images, links, pagination, raster fallback. MIT licensed, React-only, no server. react-print-pdf takes a React component you already render and exports it to a real vector PDF in the same browser tab. No headless Chromium server. No second component language. No canvas screenshot. The browser stays the layout engine — the library reads boxes and computed styles from the DOM and emits PDF primitives with pdf-lib. Current stable: 0.2.0 on npm (`npm install react-print-pdf`). ## Documentation - [Introduction](https://react-print-pdf-inky.vercel.app/docs/introduction): why this exists, what it does, what it doesn't. - [Quick start](https://react-print-pdf-inky.vercel.app/docs/quick-start): the 3-minute install + first PDF. - [How it works](https://react-print-pdf-inky.vercel.app/docs/how-it-works): the 5-stage pipeline (React → DOM → walk → paginate → bytes) with diagrams. - [Best practices](https://react-print-pdf-inky.vercel.app/docs/best-practices): patterns that ship and anti-patterns that bite. - [Limitations](https://react-print-pdf-inky.vercel.app/docs/limitations): the short, honest list of what does not work yet. ## Core API - [exportToPDF](https://react-print-pdf-inky.vercel.app/docs/export-to-pdf): the imperative `exportToPDF(element, options)` function. - [React API](https://react-print-pdf-inky.vercel.app/docs/react-api): `usePDFExport`, ``, ``. - [Sizing and alignment](https://react-print-pdf-inky.vercel.app/docs/sizing-and-alignment): `pageContentWidth(options)` and matching screen ↔ PDF widths. - [Fonts](https://react-print-pdf-inky.vercel.app/docs/fonts): registering custom TTF / OTF fonts. - [Pagination](https://react-print-pdf-inky.vercel.app/docs/pagination): `break-before`, `break-after`, `break-inside: avoid`, repeat bands. - [Images](https://react-print-pdf-inky.vercel.app/docs/images): PNG / JPEG embedding. - [Raster fallback](https://react-print-pdf-inky.vercel.app/docs/raster-fallback): how gradients / shadows / SVG get captured as PNG. ## Examples - [Receipt (thermal 80mm)](https://react-print-pdf-inky.vercel.app/docs/examples/receipt): narrow page, monospace stack, GST split. - [Invoice (A4 multi-page)](https://react-print-pdf-inky.vercel.app/docs/examples/invoice): 50 line items, repeating header / footer. - [Statement of account](https://react-print-pdf-inky.vercel.app/docs/examples/statement): 64 transactions across 3 pages, sticky closing balance. - [Financial summary report](https://react-print-pdf-inky.vercel.app/docs/examples/financial-report): KPI grid, charts (raster), commentary blocks. ## Production - [API reference](https://react-print-pdf-inky.vercel.app/docs/api-reference): the full type signatures. - [Error handling](https://react-print-pdf-inky.vercel.app/docs/error-handling): `PdfExportError` codes. - [Production checklist](https://react-print-pdf-inky.vercel.app/docs/production-checklist): pre-launch sweep. ## Optional - [llms-full.txt](https://react-print-pdf-inky.vercel.app/llms-full.txt): the entire docs in a single file for ingestion into an LLM context window. - [GitHub repository](https://github.com/hempun10/react-print-pdf): MIT licensed, contributions welcome. - [Live workshop](https://react-print-pdf-workshop.vercel.app): every fixture from the docs, runnable, with the export button.