Ressourcen
Ressource hochladen
Logos, Unterschriften und Schriften werden einmal hochgeladen und anschließend über ihre ID referenziert. Die Anfrage ist multipart; die Datei gehört in das Feld file, altText ist optional.
curl -X POST https://api.pdfgine.com/api/v1/assets \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-F "file=@logo.png" \
-F "altText=Firmenlogo"
{
"assetId": "ast_985f87e2b22d486db2d6d8bacd29288e",
"fileName": "logo.png",
"contentType": "image/png",
"length": 20184,
"altText": "Firmenlogo",
"createdAt": "2026-09-26T15:29:44.8420041+00:00",
"expiresAt": null,
"fontEmbedding": null
}
Der Typ wird aus den ersten Dateibytes gelesen, nicht aus dem gesendeten Content-Type: Eine .png-Datei, die tatsächlich ein PDF ist, wird abgelehnt. PNG, JPEG, WebP, TTF und OTF werden bis zu 10 MB pro Datei akzeptiert.
In einem Dokument verwenden
Senden Sie die ID dort, wo die Vorlage ein Bild erwartet. Dasselbe Feld akzeptiert auch eine data:-URI; eine hochgeladene Ressource benötigt jedoch weniger Übertragungsvolumen und lässt sich wiederverwenden.
curl -X POST https://api.pdfgine.com/api/v1/render \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateCode": "invoice",
"format": "pdf",
"data": { "logo": "ast_985f87e2b22d486db2d6d8bacd29288e" }
}'
Temporäre Ressourcen auflisten und löschen
Ein Bild für ein einzelnes Dokument muss nicht manuell entfernt werden: Geben Sie expiresInMinutes zwischen 1 und 10080 (sieben Tage) an, damit die Ressource sich selbst entfernt.
curl -X POST https://api.pdfgine.com/api/v1/assets \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-F "file=@signature.png" \
-F "expiresInMinutes=60"
# Auflisten, Inhalt einer Ressource und Löschen
curl https://api.pdfgine.com/api/v1/assets -H "X-PDFgine-Key: $PDFGINE_KEY"
curl https://api.pdfgine.com/api/v1/assets/ast_985f87e2b22d486db2d6d8bacd29288e/content \
-H "X-PDFgine-Key: $PDFGINE_KEY" -o logo.png
curl -X DELETE https://api.pdfgine.com/api/v1/assets/ast_985f87e2b22d486db2d6d8bacd29288e \
-H "X-PDFgine-Key: $PDFGINE_KEY"
Schriften und erlaubte Einbettung
Eine Schriftdatei legt in ihren fsType-Bits fest, was ein Dokument mit ihr tun darf. PDFgine liest dies beim Hochladen und gibt fontEmbedding zurück. So kennen Sie die Antwort vor der Dokumenterstellung statt erst beim Öffnen.
fontEmbedding |
Was das Dokument darf |
|---|---|
installable | Keine Einschränkung; in PDF und Word eingebettet. |
editable | In PDF und Word eingebettet. |
preview-print | Im PDF eingebettet. Nicht in Word eingebettet, da Word-Dokumente bearbeitet werden können; Word verwendet eine Ersatzschrift. |
restricted | Nirgends eingebettet. Das Dokument wird dennoch erstellt und verwendet stattdessen eine Schrift des Lesers. |
bitmap-only | Nur Bitmap-Einbettung ist erlaubt; Dokumente können diese nicht verwenden. Wird nicht eingebettet. |
unstated | Die Datei nennt keine Berechtigung. Gemäß der OpenType-Spezifikation wird sie als einbettbar behandelt. |
WOFF und WOFF2 werden beim Hochladen abgelehnt. Sie lassen sich nicht in Word-Dokumente einbetten. Dieselbe Vorlage wäre dann im PDF korrekt und in Word falsch — ein Unterschied, den Sie erst nach dem Versand bemerken würden.
Integrierte Schriften
Diese Schriftfamilien sind im Produkt enthalten. Verwenden Sie ihre Namen in style.fontFamily und page.defaultFont. Derselbe Schriftschnitt wird in PDF, Word und im Editor verwendet. Fehlende Schriftstärken werden nicht abgelehnt; der nächstliegende Schriftschnitt wird verwendet.
| Schriftfamilie | Gruppe | Schriftstärken | Schriftsysteme |
|---|---|---|---|
Inter |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Roboto |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Montserrat |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, cyrillic, vietnamese |
Poppins |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin |
DM Sans |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin |
Nunito |
sans |
200, 300, 400, 500, 600, 700, 800, 900 | latin, cyrillic, vietnamese |
Manrope |
sans |
200, 300, 400, 500, 600, 700, 800 | latin, greek, cyrillic, vietnamese |
Noto Sans |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Plus Jakarta Sans |
sans |
200, 300, 400, 500, 600, 700, 800 | latin, vietnamese |
Work Sans |
sans |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, vietnamese |
Roboto Condensed |
condensed |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Oswald |
condensed |
200, 300, 400, 500, 600, 700 | latin, latin-ext, cyrillic, vietnamese |
Noto Serif |
serif |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
EB Garamond |
serif |
400, 500, 600, 700, 800 | latin, latin-ext, greek, cyrillic, vietnamese |
Newsreader |
serif |
200, 300, 400, 500, 600, 700, 800 | latin, vietnamese |
Literata |
serif |
200, 300, 400, 500, 600, 700, 800, 900 | latin, greek, cyrillic, vietnamese |
Tinos |
serif |
400, 700 | latin, latin-ext, greek, cyrillic, vietnamese |
Rokkitt |
serif |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, vietnamese |
Inconsolata |
mono |
200, 300, 400, 500, 600, 700, 800, 900 | latin, vietnamese |
Noto Sans Mono |
mono |
100, 200, 300, 400, 500, 600, 700, 800, 900 | latin, latin-ext, greek, cyrillic, vietnamese |
Arial |
system |
400, 700 | |
Georgia |
system |
400, 700 |
Wenn ein Upload abgelehnt wird
Jede Ablehnung liefert 400 mit der Begründung unter errors.file. Zeigen Sie diesen Satz der hochladenden Person; er erklärt bereits die nötigen Schritte.
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"file": ["Laden Sie eine TTF- oder OTF-Schrift hoch, damit sie in der Word-Ausgabe verwendet werden kann. WOFF- und WOFF2-Dateien können nicht in ein Word-Dokument eingebettet werden."]
},
"correlationId": "505aac87e234a7b4669e6203ac7ffcd5"
}
Häufige Fehler
- Der Typ wird aus den ersten Bytes gelesen, nicht aus dem Dateinamen. Ein in .png umbenanntes PDF wird kein Bild; der Upload wird abgelehnt.
- WOFF und WOFF2 werden bewusst abgelehnt. Sie sind nicht in Word einbettbar, sodass dieselbe Vorlage im PDF korrekt und in Word falsch wäre. Laden Sie TTF oder OTF hoch.
- Die Uploadantwort enthält fontEmbedding. Wenn Sie das ignorieren, erfahren Sie erst nach dem Versand, dass die Schrift ersetzt wurde.
- Eine data:-URI wird mit jeder Anfrage übertragen. Laden Sie ein Logo, das auf jedem Dokument erscheint, einmal hoch und senden Sie seine ID.
- Ein Bild für nur ein Dokument muss nicht manuell gelöscht werden. Geben Sie expiresInMinutes an, damit es sich selbst entfernt.