@lacspace/pdf
Generate real PDFs — invoices, receipts & documents — with zero dependencies and no headless browser. Accurate text layout, auto page-breaks, batteries-included invoice() & receipt() generators. Isomorphic (Node, edge, browser).
npm i @lacspace/pdfUsage
import { invoice } from "@lacspace/pdf";
import { writeFileSync } from "node:fs";
const bytes = invoice({
brand: "Lacspace",
number: "INV-1024",
date: "2026-08-23",
dueDate: "2026-09-06",
from: { name: "Lacspace Corporation", lines: ["Global HQ"], email: "billing@lacspace.com" },
to: { name: "Acme Pvt. Ltd.", lines: ["Kathmandu, Nepal"], email: "accounts@acme.com" },
items: [
{ description: "Custom software development", quantity: 1, rate: 4500 },
{ description: "AI chatbot integration", quantity: 2, rate: 750 },
],
currency: "$", taxRate: 13, discount: 200,
notes: "Payment due within 14 days.",
});
writeFileSync("invoice.pdf", bytes); // Node
// or in a route handler:
return new Response(bytes, { headers: { "content-type": "application/pdf" } });Exports 5
PdfDocumentformatMoneyinvoicereceipttextWidthKeywords
More in Backend Kit
Make any operation exactly-once with an idempotency key — replay stored results on retries, safe under concurrency, with optional request fingerprinting. Framework-agnostic, pluggable store, zero-dependency, isomorphic.
@lacspace/signed-urlHMAC-signed, expiring URLs & tokens over Web Crypto — secure download links, magic-login links, unsubscribe links and one-time-action tokens. Tamper-proof, timing-safe, zero-config. Isomorphic (Node, edge, browser).
@lacspace/webhooksThe webhook toolkit for both directions — sign & deliver outgoing webhooks with retries, and verify incoming ones (timing-safe, replay-protected) with Stripe / GitHub / Shopify presets. Plus event ids & idempotency. One internal dependency (@lacspace/crypto), isomorphic.