Users would like more options for customizing the PDF generation process, such as advanced layout controls, additional formats, and more detailed configuration for headers and footers.
I got tired of setting up Playwright/Puppeteer containers every time a project needed PDF generation, so I built DocuForge, a hosted API that does one thing: takes HTML and returns a PDF. const { DocuForge } = require('docuforge'); const df = new DocuForge(process.env.DOCUFORGE\_API\_KEY); const pdf = await df.generate({ html: '<h1>Invoice #1234</h1><table>...</table>', options: { format: 'A4', margin: '1in', footer: '<div>Page {{pageNumber}} of {{totalPages}}</div>' } }); console.log(pdf.url); // → [https://cdn.docuforge.dev/gen\_abc123.pdf](https://cdn.docuforge.dev/gen_abc123.pdf) What it handles for you: * Headless Chrome rendering (full CSS3, Grid, Flexbox) * Smart page breaks (no split table rows, orphan protection) * Headers/footers with page numbers * PDF storage + CDN delivery TypeScript SDK is fully typed. Python SDK also available. Free tier is 1,000 PDFs/month. Tech stack if anyone's curious: Hono on Node.js, Playwright for rendering, Cloudflare R2 for storage (zero egress fees), PostgreSQL on Neon, deployed on Render. Repo for the open-source React component library: \[link\] API docs: \[link\] Honest question for the community: would you rather manage Puppeteer yourself or pay $29/month for 10K PDFs on a hosted service? Trying to understand where the line is for most teams.