Comparison · Puppeteer
Printing HTML with Chrome, or rendering reports without it?
page.pdf() gives you Chromium's print output of any HTML you can build, and for a page that already exists that is hard to beat. The costs arrive later: a browser to run and scale, and page breaks decided by the print engine rather than by you.
Choose Puppeteer when
- You already have the HTML page and want a PDF of exactly that
- Running and scaling headless Chrome is acceptable where you render
- Page breaks and repeated headers are simple enough for CSS print rules
Choose BroadPaper when
- Users design the report rather than a developer building HTML for it
- You want to render without shipping or operating Chromium — in the browser, a function, or a small container
- Tables must repeat their headers, sections must keep together, and totals must never land alone on a page
Side by side
| Puppeteer | BroadPaper | |
|---|---|---|
| Who designs the document | A developer, as an HTML page with print CSS. | An embeddable visual designer your users work in: drag, bind to your data, brand, preview. React and Angular wrappers over one framework-free mount API. |
| Rendering | Headless Chrome prints the page with page.pdf(). | A WebAssembly engine with no browser, or BroadPaper's own Chromium backend when you want Chromium's output. |
| Pagination | The print engine decides, guided by CSS break rules and @page. | BroadPaper's own paginator: keep-together, keep-with-next, orphans and widows, repeated table headers, explicit breaks and multi-column splits, decided before any PDF backend draws a page. |
| Headers and footers | headerTemplate and footerTemplate: HTML with injected pageNumber, totalPages, title, url and date. | Designed in the designer, with page numbers and totals bound like any other value, and different first-page headers. |
| Backgrounds | Off unless printBackground is set. | Drawn as designed. |
| Operations | A Chromium process per render service, with its memory and start-up. | An HTTP render service with a bounded queue and a Dockerfile, or no service at all. |
| Licence | Apache-2.0, free. | Commercial, per organisation, yearly. Free to evaluate with every feature; PDFs carry an evaluation mark until licensed. No seats, no activation, no telemetry. |
What other products do is summarised from their own sites, checked 15 September 2026: Puppeteer PDF generation, PDFOptions reference. Tell us at hello@broadpaper.com if something here has changed.
See it before you decide.
The demo is the whole designer, in your browser, with no account and nothing uploaded — and the quick start is thirty lines to a designer in your own app.