Für Entwickler
Das Rendern läuft über die API. Das ist keine Einschränkung, das ist das Konzept.
Jemand anderes hat das Template gebaut. Sie schicken JSON an einen Endpoint und bekommen ein Render-Ergebnis zurück — den Status je Dokument, einen signierten Download-Link und die PDF-Bytes selbst, wenn Sie danach fragen — synchron für ein einzelnes Dokument oder als eingereihter Job mit signiertem Webhook für einen Stapel. Sechs native SDKs stehen bereit, dazu eine schlichte REST-API.
{
"documents": [{
"customer":
"Acme Inc.",
"total": 1240.00,
"lines": [ … ]
}]
}Schnellstart
Ihr erstes PDF in wenigen Zeilen
Alle SDKs folgen derselben Form, das Beispiel unten ist also die komplette Integration in jedem davon. Wählen Sie Ihren Stack:
var pagr = new PagrClient( Environment.GetEnvironmentVariable("PAGR_KEY")); var result = await pagr.RenderAsync(templateId, new[] { new { customer = "Acme Inc.", total = 1240.00m, lines = order.Lines } }); // result.Status, result.Documents[0].ViewUrl
Die Übergabe
Sie bekommen die vollständige Markdown-Spezifikation zum Template
Jedes gebundene Feld, sein Typ, ob es immer erforderlich oder bedingt ist, ein Beispielwert und die Formatierung, die das Template anwendet — alles ist aufgeführt. Geben Sie es Ihrem KI-Assistenten für das Daten-Mapping, oder lesen Sie es einfach und sind in zehn Minuten fertig.
# epc certificate — data model · v1 (draft) ## Root object | Field | Type | Required | Example | |---------------------|--------|-------------|--------------| | `certificateNumber` | string | Always | "20240117-1" | | `postalCode` | string | Always | "9000" | | `buildingPhoto` | image | Always | "https://…" | | `energyScore` | number | Always | 148 | | `expiryDate` | date | Always | "2035-01-17" | | `remarks` | string | Conditional | null | `energyScore` prints as "148 kWh/m²", `expiryDate` as "17 January 2035" — send raw values, the template formats. … 4 more fields omitted.
Aus dem Template generiert, nicht aus dem Gedächtnis
Es wird aus dem Template ausgelesen, das rendert, kann also nicht veralten. Ändert sich das Dokument, erzeugen Sie die Spezifikation neu und stellen sie neben die vorherige, um genau zu sehen, welche Felder sich verschoben haben.
Pflicht oder bedingt, ausdrücklich angegeben
„Immer“ heißt, das Feld ist außerhalb jeder Bedingung gebunden. „Bedingt“ heißt, es steht in einem bedingten Element oder einem ternären Zweig und darf berechtigterweise fehlen.
Rohwerte senden
Eine Zahl ist eine Zahl und ein Datum ist ein ISO-Datum. Das Template besitzt die Formatierung, Sie bauen also auf Ihrer Seite keine Strings zusammen.
Bilder per URL
Schicken Sie für Fotos und Logos eine URL. Barcodes und QR-Codes schicken Sie gar nicht — das Template erzeugt sie aus dem Wert in Ihrem JSON.
SDKs
Sechs Clients, ein Verhalten
Jedes SDK ist so geschrieben, dass es sich in seiner Sprache native anfühlt, und wird auf gleichem Stand gehalten. Jedes liegt auf GitHub — wählen Sie eine Sprache, um sein Repository zu öffnen.
Massengenerierung
Volumen läuft über Code, nicht über die Oberfläche
Massenrendering heißt JSON an die API — ein documents-Array in einem Aufruf oder ein asynchroner Job über eine größere Menge. Das ist die Variante von Masse, die sich auch dann noch benimmt, wenn um 2 Uhr nachts ein Datensatz fehlerhaft ist.
Ein Dokument, sofort
Rufen Sie render auf, und das Ergebnis steht in derselben Antwort: Status, Seitenzahl und ein signierter Download-Link, mit den PDF-Bytes darin, wenn Sie danach fragen. Für den Request-Pfad: Ein Nutzer klickt auf „Rechnung herunterladen“, und das Dokument kommt an.
Abschicken und vergessen, im großen Stil
Job einreihen und weitermachen. Ist er fertig, erhalten Sie einen signierten Webhook mit Zeitstempel — HMAC-SHA256, rotationsfähig — statt einer Antwort, der Sie vertrauen sollen.
Direkt zum Nutzer
Fordern Sie das rohe PDF an und rendern Sie ohne Persistenz: Die Bytes gehen direkt in Ihre Antwort. Nichts aufzuräumen, nichts, was in einem Bucket darauf wartet, eine Compliance-Frage zu werden.
Pagr stellt Dokumente nicht zu. Die Generierung endet mit der Übergabe des PDFs — der Versand an einen Kunden, ein Portal oder ein Archiv bleibt in Ihrem System, wo der Audit-Trail ohnehin schon liegt. Die Speicherung entscheiden Sie: Behalten Sie die gerenderten Dateien in Pagr mit einer Aufbewahrungsfrist, die Sie festlegen, oder rendern Sie ohne Persistenz, dann bleibt nichts zurück.
Plattform
Gebaut, um unter einem Produkt zu sitzen, nicht daneben
Mandantenfähigkeit ist hier keine Tarifstufe. Organisationen, Projekte, versionierte Templates, eingegrenzte Schlüssel und Verbrauchserfassung sind der Aufbau der Plattform.
Organisationen und Projekte
Trennen Sie Ihre Umgebungen und Ihre Kunden sauber, mit API-Schlüsseln, die jeweils darauf begrenzt sind.
Versionierte Templates
Legen Sie pro Aufruf eine Version fest. Nehmen Sie eine fehlerhafte Änderung zurück, ohne ein Deployment anzufassen.
Verbrauch und Audit-Trails
Wissen Sie, was gerendert wurde, aus welcher Template-Version und mit welchem Schlüssel.
Schlüssel holen und etwas rendern.
Ein kostenloser Workspace, ein Testschlüssel und 100 Renders pro Monat. Keine Kreditkarte erforderlich.


