TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸

Generating PDF files with JavaScript

September 1, 2014

PDF in JavaScript erzeugen

Es gibt zwei Hauptwege:

  1. Client-side (Browser)
  2. Server-side (Node.js, Headless Chrome)

Client-side Optionen

jsPDF

  • Erzeugt PDFs direkt im Browser
  • Gut fuer einfache Layouts und Text
  • HTML zu PDF ist moeglich, aber begrenzt

Beispiel:

code
import { jsPDF } from "jspdf";

const doc = new jsPDF();
doc.text("Hallo Welt", 10, 10);
doc.save("demo.pdf");

pdf-lib

  • Moderner, flexibler fuer PDFs, auch zum Editieren bestehender PDFs

Server-side Optionen

Puppeteer / Playwright

  • Rendert HTML + CSS in Chromium und exportiert als PDF
  • Beste Wahl fuer komplexe Layouts und CSS
code
import { chromium } from "playwright";

const browser = await chromium.launch();
const page = await browser.newPage();
await page.setContent("<h1>Invoice</h1>");
await page.pdf({ path: "invoice.pdf", format: "A4" });
await browser.close();

Auswahlhilfe

  • Einfache PDF (Text, Tabellen) -> jsPDF
  • Komplexes Layout / HTML -> Puppeteer/Playwright
  • Bestehende PDF bearbeiten -> pdf-lib

Ressourcen