PDF-Generierung in TypeScript: Bibliotheken und Tools für Node.js

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

PDF-Generierung in TypeScript: Überblick über Bibliotheken und Tools



Die Erstellung von PDF-Dokumenten ist eine häufige Aufgabe in der Webentwicklung. TypeScript ermöglicht dank strenger Typisierung und moderner Funktionen das Schreiben von zuverlässigem Code für die PDF-Generierung sowohl auf dem Client als auch auf dem Server. In diesem Artikel betrachten wir beliebte Bibliotheken und Tools zur PDF-Generierung in TypeScript, ihre Besonderheiten und Anwendungsbeispiele.



1. PDFKit – Leistungsstarke Server-Bibliothek



PDFKit ist eine der beliebtesten Bibliotheken zur PDF-Erstellung in Node.js. Sie bietet vollständige Kontrolle über die Dokumentstruktur und unterstützt Schriftarten, Bilder, Anmerkungen und Vektorgrafiken. PDFKit läuft auf dem Server und eignet sich ideal für die Generierung komplexer Berichte, Rechnungen oder Zertifikate.



Installation und Beispiel:



npm install pdfkit @types/pdfkit


import PDFDocument from 'pdfkit';import * as fs from 'fs';

const doc = new PDFDocument();

doc.pipe(fs.createWriteStream('output.pdf'));

doc.fontSize(25).text('Hallo, Welt!', 100, 100);doc.fontSize(12).text('Dies ist ein PDF, generiert mit PDFKit und TypeScript.', 100, 150);

doc.end();


PDFKit eignet sich hervorragend für:



  • Erstellung von PDF auf dem Server (Express, NestJS)
  • Arbeit mit benutzerdefinierten Schriftarten und Kodierungen (einschließlich Kyrillisch)
  • Hinzufügen von Bildern, Tabellen und grafischen Grundelementen


2. jsPDF – PDF-Generierung auf dem Client



jsPDF ist eine Client-Bibliothek zur PDF-Erstellung direkt im Browser. Sie ist einfach zu bedienen und unterstützt Text, Bilder, Anmerkungen und grundlegende Formen. Für TypeScript sind Typen über DefinitelyTyped verfügbar.



Installation:



npm install jspdf @types/jspdf


Beispiel zur PDF-Generierung im Browser:



import { jsPDF } from 'jspdf';

const doc = new jsPDF();

doc.text('Hallo, TypeScript!', 10, 10);doc.text('Dies ist ein PDF, erstellt im Browser.', 10, 20);

doc.save('document.pdf');


jsPDF eignet sich für:



  • Herunterladen von PDF auf der Client-Seite (Berichte, Quittungen)
  • Einfache Dokumente ohne komplexes Layout
  • Schnelles Prototyping


3. Puppeteer – Generierung aus HTML



Puppeteer ist eine Bibliothek zur Steuerung des Chrome/Chromium-Browsers. Sie ermöglicht die Konvertierung von HTML-Seiten in PDF unter vollständiger Beibehaltung von Stilen, Schriftarten und Layout. Ideal für die Erstellung komplexer Dokumente, Berichte und Visitenkarten.



Installation:



npm install puppeteer


Beispiel zur Konvertierung von HTML in PDF:



import puppeteer from 'puppeteer';

async function generatePDF(html: string, outputPath: string): Promise<void> { const browser = await puppeteer.launch(); const page = await browser.newPage();

await page.setContent(html, { waitUntil: 'networkidle0' }); await page.pdf({ path: outputPath, format: 'A4' });

await browser.close();}

// Verwendungconst htmlContent = `<h1 style="color: blue;">Überschrift</h1><p>Text mit HTML-Stilen</p>`;generatePDF(htmlContent, 'output.pdf');


Puppeteer ist ideal für:



  • Konvertierung komplexer HTML-Vorlagen in PDF
  • Erstellung von PDF mit CSS-Stilen, Flexbox, Grid
  • PDF-Generierung auf dem Server mit vollständiger Kontrolle über das Erscheinungsbild


4. pdf-lib – Leichte und schnelle Bibliothek



pdf-lib ist eine moderne Bibliothek zur Erstellung und Bearbeitung von PDF-Dokumenten ohne externe Abhängigkeiten. Sie funktioniert sowohl in Node.js als auch im Browser. Unterstützt Schriftarten, Bilder, Formulare und Anmerkungen.



Installation:



npm install pdf-lib
\

Empfehlungen