Preparing…
PDFx components used
How to export a proposal PDF template for React
Agencies reprint the same proposal structure for every client. Owned react-pdf TSX means one theme, many clients, and no per-seat hosted template tax. Edit scope sections in the builder or in code after export.
- Preview the live @react-pdf/renderer output on this page (no signup).
- Click Use this template to open it in the visual builder and bind your {{variables}}.
- Export the .zip of typed TSX, drop it into your Next.js app, and call renderToBuffer with your data.
Drop the exported folder into your app/ directory, import the template, and pass typed props. Render it server-side with renderToBuffer in a route handler, or stream it to the browser. No headless browser, no runtime to learn.
Related: From Figma to PDF: the missing piece · react-pdf vs Puppeteer
A folder you own
import { Template } from "./proposal-project";
import { renderToBuffer } from "@react-pdf/renderer";
const pdf = await renderToBuffer(
<Template data={data} />
);Questions about this project proposal template
Is the preview the real PDF?
Yes. The sheet renders through @react-pdf/renderer, the exact engine behind the export and the hosted API. What you preview is what ships.
Do I own the exported code?
Yes. Export is a .zip of typed TSX, sample data, and a README. There is no proprietary runtime and no vendor lock-in. You render PDFs inside your own React or Next.js app.
Can agencies reuse this across clients?
Yes. That is the point of owned code. Theme once, bind new client data per render, and avoid a metered hosted template per client.