Skip to content
Node.js

PDF generation for Node.js, without the Chromium binary.

Puppeteer and Playwright work — until you have to keep a headless Chrome fleet alive in production. The Node client wraps the same rendering engine as a single async call, with no binary to manage.

npm install pagemint

import { Pagemint } from "pagemint";
const pm = new Pagemint(process.env.PAGEMINT_KEY);

const pdf = await pm.render({ template: "invoice", data });

What you're not running anymore

  • A Chromium binary matched to your OS and kept patched
  • A worker pool sized for peak concurrency, idle the rest of the time
  • Font packages on every render machine, or text falls back to Times New Roman
  • Memory leaks from long-lived browser instances under sustained load

A typical Express route

app.post("/invoices/:id/pdf", async (req, res) => {
  const { url } = await pm.render({ template: "invoice", data: req.body });
  res.json({ url });
});

Working in Python instead?

Same API, same guarantees — the Python client covers the same ground.