PDF Generation API

PDF Generation API für automatisierte, datengetriebene Dokumente

Eine REST-API für jedes PDF, das Ihr Produkt verschickt: aus einer Vorlage und JSON, rohem HTML, einer URL oder Markdown. Gerendert in Chromium, ausgeliefert als Link, Datei oder per Webhook.

  • 50 kostenlose Renderings/Monat
  • Ohne Kreditkarte
  • Median-Renderzeit 216 ms

Was ist eine PDF-Generierungs-API?

Eine PDF-Generierungs-API ist ein Webdienst, den Ihre Anwendung aufruft, um PDF-Dokumente automatisch zu erzeugen. Sie schicken Inhalte — etwa eine Vorlagen-ID mit JSON-Daten, rohes HTML, eine URL oder Markdown —, und der Dienst rendert sie und liefert das fertige PDF zurück. Er ersetzt die PDF-Bibliothek oder den Headless-Browser, den Sie sonst selbst bauen, betreiben und pflegen würden.

PDF Generation API: die wichtigsten Fakten
EingabenVorlage + JSON, HTML + CSS, URL, Markdown
AusgabenPDF; PNG, JPEG oder WebP aus denselben Eingaben
Rendering-EngineEngine 2026.4 auf Chromium (Chrome 153.0.8010.47), JavaScript standardmäßig aktiv
RenderzeitMedian 216 ms, p95 516 ms, p99 667 ms (Warteschlange + Verarbeitung, ohne Netzwerk)1
ModiSynchron, asynchron mit Webhooks, Stapel aus JSON oder CSV
AuslieferungSignierte URL, Binärdaten, base64 oder Ihr eigener S3-kompatibler Bucket (Enterprise)
ZuverlässigkeitIdempotenzschlüssel, signierte Webhooks mit 8 Zustellversuchen, automatische Wiederholung bei Browser-Abstürzen
PreisFree: 50 Renderings/Monat. Bezahlt ab 15 €/Monat (jährlich abgerechnet) für 3.000 Renderings, automatisches Nachladen ab 6 € je 1.000

1. Gemessen über 1.664 erfolgreiche Renderings mit Engine 2026.4. total_ms = Zeit in der Warteschlange plus Verarbeitung im Worker, ohne API-Overhead und Netzwerkübertragung. p75 378 ms, p90 478 ms, Maximum 2.261 ms.

Vier Wege zum PDF

Wählen Sie die Eingabe, die zu dem Ort passt, an dem Ihre Inhalte schon liegen. Alle vier teilen sich Engine, Druckoptionen, Auslieferung und Webhooks — Sie können sie also in einem Produkt mischen.

Vorlage + JSON

Das Layout einmal speichern und nur noch Daten senden. Ideal für Dokumente, die Sie tausendfach erzeugen: Rechnungen, Zertifikate, Kontoauszüge. Mehr über PDF-Vorlagen mit Variablen und Schleifen.

HTML + CSS

Senden Sie Markup, das Ihre App schon rendert, und bekommen Sie es als PDF zurück — mit Kopfzeilen, Seitenzahlen und Webfonts. Siehe die HTML to PDF API.

Markdown

Dokus, Berichte und KI-Ausgaben, gestaltet mit einem Druck-Theme und standardmäßig bereinigt. Mehr zu Markdown to PDF.

So funktioniert die automatisierte PDF-Erzeugung

  1. Ihre App sendet Inhalte

    Ein Ereignis in Ihrem Produkt — eine Zahlung, ein abgeschlossener Kurs oder ein Monatsabschluss — löst einen API-Aufruf aus.

  2. Die Engine rendert

    Die Daten werden eingesetzt, die Seite lädt in Chromium, Skripte und Schriften werden fertig, und das PDF wird gedruckt.

  3. Sie bekommen die Datei

    In der Antwort, als signierter Link, in Ihrem Speicher-Bucket oder per Webhook angekündigt.

Jede Eingabe gibt es auch über einen einzigen Endpunkt, POST /v1/renders: input.type wählt Vorlage, HTML, URL oder Markdown, output.format wählt PDF oder ein Bildformat:

curl https://api.dynamicdocumentapi.com/v1/renders \
  -H "Authorization: Bearer $DYNAMIC_DOCUMENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input":  { "type": "html", "html": "<h1>Welcome, {{ name }}</h1>" },
    "data":   { "name": "Acme Co." },
    "output": { "format": "pdf", "pdf": { "paper": { "size": "Letter" } } },
    "mode": "async",
    "webhook": { "url": "https://example.com/hooks/pdf",
                 "events": ["render.succeeded", "render.failed"] }
  }'

# 202 Accepted → { "id": "rnd_…", "status": "queued" }
const res = await fetch("https://api.dynamicdocumentapi.com/v1/renders", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.DYNAMIC_DOCUMENT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    input:  { type: "html", html: "<h1>Welcome, {{ name }}</h1>" },
    data:   { name: "Acme Co." },
    output: { format: "pdf", pdf: { paper: { size: "Letter" } } },
    mode: "async",
    webhook: { url: "https://example.com/hooks/pdf", events: ["render.succeeded", "render.failed"] },
  }),
});
const { id, status } = await res.json(); // 202, status "queued"
import os
import requests

res = requests.post(
    "https://api.dynamicdocumentapi.com/v1/renders",
    headers={"Authorization": f"Bearer {os.environ['DYNAMIC_DOCUMENT_API_KEY']}"},
    json={
        "input":  {"type": "html", "html": "<h1>Welcome, {{ name }}</h1>"},
        "data":   {"name": "Acme Co."},
        "output": {"format": "pdf", "pdf": {"paper": {"size": "Letter"}}},
        "mode": "async",
        "webhook": {"url": "https://example.com/hooks/pdf",
                    "events": ["render.succeeded", "render.failed"]},
    },
    timeout=30,
)
render = res.json()  # 202, render["status"] == "queued"
<?php
$ch = curl_init('https://api.dynamicdocumentapi.com/v1/renders');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . getenv('DYNAMIC_DOCUMENT_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS     => json_encode([
        'input'   => ['type' => 'html', 'html' => '<h1>Welcome, {{ name }}</h1>'],
        'data'    => ['name' => 'Acme Co.'],
        'output'  => ['format' => 'pdf', 'pdf' => ['paper' => ['size' => 'Letter']]],
        'mode'    => 'async',
        'webhook' => ['url' => 'https://example.com/hooks/pdf',
                      'events' => ['render.succeeded', 'render.failed']],
    ]),
]);
$render = json_decode(curl_exec($ch), true); // 202, status "queued"

Dynamische PDFs aus Ihren eigenen Daten

„Dynamisch" heißt, dass sich das Dokument mit den Daten ändert, nicht nur die Werte darin. Eine Vorlage bestimmt, was erscheint, wie oft und in welchem Format:

  • Variablen für Namen, Zahlen und Daten, automatisch maskiert.
  • Schleifen für Rechnungsposten, Teilnehmende oder Berichtszeilen — in Tabellen, die über so viele Seiten laufen wie nötig, mit wiederholtem Kopf.
  • Bedingungen für optionale Abschnitte, etwa eine Rabattzeile, einen Stempel „Bezahlt" oder eine Klausel für ein bestimmtes Land.
  • Formatierung nach Sprache für Währungen, Zahlen und Daten, auf Basis von Unicode CLDR — so bedient eine Vorlage jeden Markt.
  • Codes: QR-Codes und 16 Barcode-Typen aus Ihren Daten.

Was Teams erzeugen

  • Rechnungen und Belege aus Zahlungsereignissen, in der Währung der Kundschaft. Teams automatisieren Rechnungs-PDFs mit einem Aufruf pro Zahlung und einem Stapel zum Monatsende.
  • Berichte und Kontoauszüge mit Diagrammen, die JavaScript zeichnet — erfasst erst, wenn jedes Diagramm fertig ist.
  • Zertifikate und Tickets für jede Person, mit QR-Code zur Prüfung oder zum Einlass, als PDF und als Bild.
  • Verträge und Angebote, zusammengesetzt aus Klauseln, festgelegt auf die Vorlagenversion, die die Kundschaft unterschrieben hat.

Gebaut für den Produktivbetrieb

Ein PDF zu erzeugen ist leicht. Jedes Mal das richtige PDF zu erzeugen — unter Last, mit Wiederholungen und ohne Duplikate —, das ist der Teil, den Teams unterschätzen.

Synchron, asynchron und Stapel

Standardmäßig synchron. Dauert ein Rendering länger als das Sync-Limit Ihres Tarifs, antwortet die API mit 202 und arbeitet weiter, statt zu scheitern. Nutzen Sie "mode": "async" für lange Aufträge und Stapel für Tausende Dokumente aus einer Vorlage.

Signierte Webhooks mit Wiederholungen

Webhooks folgen dem Format Standard Webhooks: HMAC-SHA256-Signaturen in webhook-signature, mit Zeitstempel gegen Wiedereinspielen. Eine Zustellung, die Ihr Server nicht annimmt, wird bis zu achtmal über etwa 28 Stunden versucht und lässt sich von Hand erneut auslösen.

Keine Duplikate bei Wiederholungen

Senden Sie einen Idempotency-Key-Header, etwa Ihre Rechnungsnummer. Eine wiederholte Anfrage innerhalb von 24 Stunden liefert das ursprüngliche Rendering statt eines zweiten Dokuments.

Test- und Live-Schlüssel

Testschlüssel rendern kostenlos mit dem Wasserzeichen „TEST" und bewahren Dateien einen Tag auf — Entwicklung und CI berühren so weder Ihr Kontingent noch die Dokumente Ihrer Kunden.

Selbst bauen oder einkaufen: was eine eigene PDF-Pipeline wirklich kostet

Headless Chrome selbst zu betreiben ist eine vernünftige Wahl. Es ist aber mehr Arbeit, als der erste Prototyp vermuten lässt. Das gehört zu jedem Teil.

Eigene PDF-Pipeline im Vergleich mit der API
Bereich Selbst gebaut mit Headless Chrome Dynamic Document API
Erstes PDFEin Tag mit Puppeteer oder PlaywrightMinuten mit einem API-Schlüssel
ProduktivdienstWarteschlange, Worker-Pool, Zeitlimits, Dateispeicher, signierte Links, WebhooksInklusive
Browser-UpdatesChrome bringt alle vier Wochen eine neue Hauptversion; Sie testen und verteilen jede davonWir testen Engine-Versionen und legen sie fest
Schriften und DarstellungsfehlerFehlende Schriften, Ersatzzeichen, abgeschnittene Tabellenzeilen, zu spät geladene DiagrammeSchriftladen, Wartebedingungen und Seitenumbrüche eingebaut
SicherheitDen Zugriff auf interne Netze aus fremdem HTML zu sperren, liegt bei IhnenPrivate und interne Adressen bei jedem Abruf gesperrt
VorlagenVorlagen im Code, ausgerollt mit Ihrer AppVersionierte Vorlagen mit Rückkehr zu älteren Versionen, änderbar ohne Deployment
Am besten, wennDaten Ihr Netzwerk nie verlassen dürfen oder das Volumen sehr hoch und gleichmäßig istSie zuverlässige PDFs wollen, ohne Browser zu betreiben

Preise der PDF Generation API

Free

€0

50 Renderings pro Monat, volle REST-API. Ohne Kreditkarte.

Starter

€15 / Monat

3.000 Renderings pro Monat, jährlich abgerechnet (19 € bei monatlicher Abrechnung). Etwa 0,005 € pro Rendering.

Growth (47 €/Monat, 15.000 Renderings), Pro (119 €/Monat, 50.000) und Scale (319 €/Monat, 200.000) werden jährlich abgerechnet; Enterprise beginnt bei 1.500 €. Geht ein Bezahltarif zur Neige, werden automatisch 1.000 Renderings für 6 € bis 2 € je 1.000 nachgeladen — eine Pipeline hält am Monatsende also nie an. Siehe die vollständigen Preise, oder sprechen Sie mit dem Vertrieb über höhere Volumen.

FAQ

PDF Generation API: häufige Fragen

Was ist der Unterschied zwischen einer PDF-Generierungs-API und einer HTML-zu-PDF-API?

HTML zu PDF ist ein Weg, ein PDF zu erzeugen: Sie senden fertiges Markup. Eine PDF-Generierungs-API übernimmt die ganze Aufgabe: Sie füllt auch gespeicherte Vorlagen mit JSON, erfasst URLs und wandelt Markdown um — und bringt mit, was der Produktivbetrieb braucht, etwa asynchrone Aufträge, Webhooks, Stapel und die Auslieferung der Dateien.

Wie viele PDFs kann ich pro Monat erzeugen?

Der Free-Tarif umfasst 50 Renderings im Monat. Bezahltarife beginnen bei 3.000 Renderings im Monat für 15 € bei jährlicher Abrechnung und reichen bis 200.000 bei Scale; Enterprise beginnt bei 1.000.000. Geht ein Bezahltarif zur Neige, werden automatisch 1.000 Renderings zum Nachladepreis des Tarifs hinzugefügt. Im Free-Tarif beginnen Renderings-Pakete bei 50 € für 10.000 Renderings.

Kann ich PDFs in großen Mengen erzeugen?

Ja. Ein Stapel nimmt eine Vorlage und eine Liste von Einträgen oder eine CSV-Datei und erzeugt ein PDF pro Eintrag. Fortschritt und Abschluss kommen per Webhook, fehlgeschlagene Einträge lassen sich einzeln wiederholen, und alle PDFs können zu einer Datei zusammengefügt werden. Stapel gibt es in Bezahltarifen.

Was passiert, wenn ein Rendering scheitert?

Sie bekommen einen Fehler mit maschinenlesbarem Code — etwa einen Vorlagenfehler mit Zeile und Spalte, einen Navigationsfehler oder eine Zeitüberschreitung — plus einen render.failed-Webhook, falls Sie ihn abonniert haben. Browser-Abstürze werden automatisch in einem frischen Browser wiederholt. Fehler in Ihrer Vorlage oder Ihren Daten werden nicht wiederholt, weil das Ergebnis dasselbe wäre.

Wo werden meine Daten verarbeitet?

Render-Nutzdaten und erzeugte Dateien bleiben in der Region des API-Hosts, den Sie aufrufen. Dateien werden über signierte, ablaufende Links ausgeliefert, und Sie bestimmen, wie viele Tage sie aufbewahrt werden — bis zum Maximum Ihres Tarifs.

Kann dieselbe API Bilder erzeugen?

Ja. Jede Eingabe, die ein PDF erzeugt, kann auch PNG, JPEG oder WebP erzeugen — etwa ein Zertifikat als druckbares PDF und als Bild zum Teilen oder einen Screenshot einer URL.

Erzeugen Sie Ihr erstes PDF kostenlos

50 Renderings im Monat im Free-Tarif, ohne Kreditkarte, automatisches Nachladen in Bezahltarifen, kein Browser zu betreiben.

Kostenlos starten