Eingebettete Schriften in PDF-Dateien prüfen
Eine PDF-Datei kann auf dem Erstellungsrechner korrekt aussehen und sich beim Öffnen, Drucken oder Verarbeiten auf einem anderen System verändern, wenn Schriften nicht eingebettet sind.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Diese Prüfung übernimmt die Schriftenliste eines PDF-Prüfwerkzeugs samt Einbettungsstatus und liefert ein eindeutiges Ergebnis. Zudem nennt sie alle Schriften mit Handlungsbedarf, sodass Sie die Druckvorstufe leichter automatisieren und verständlich dokumentieren können.
Warum eingebettete Schriften PDF-Dateien portabel machen
Eine PDF-Datei beschreibt das Seitenlayout und die Schriften für die Textdarstellung. Ist das Schriftprogramm oder eine zulässige Teilmenge eingebettet, können Anzeigeprogramm und Drucker die Zeichen zuverlässig wiedergeben. Fehlt es, wählt das Zielsystem möglicherweise eine lokal installierte Ersatzschrift mit anderen Formen, Breiten oder Sprachzeichen. Dadurch können Zeilenumbrüche, Symbole und Seitenaufteilung abweichen. Druckereien und Archive prüfen deshalb die Schrifteinbettung. Diese Funktion bewertet bereits extrahierte Namen und Statuswerte nach einer einheitlichen Regel. Sie untersucht nicht selbst die PDF-Bytes und eignet sich daher für Abläufe, in denen ein vertrauenswürdiges Werkzeug zuvor die Metadaten ermittelt.
So übermitteln Sie die Liste und lesen das Ergebnis
Übermitteln Sie mindestens einen Datensatz mit einem nicht leeren Namen und dem booleschen Wert embedded. Verwenden Sie true nur, wenn das Quellwerkzeug die Einbettung ausdrücklich bestätigt, andernfalls false. Die Prüfung bewahrt die Reihenfolge, zählt alle Einträge und gibt nicht eingebettete Namen gesondert zurück. all_embedded ist nur true, wenn sämtliche Werte true sind. Teilmengenpräfixe und Duplikate bleiben erhalten, da sie unterschiedliche Ressourcen bezeichnen können. Eine leere Liste, ein ungültiger Name oder ein nicht boolescher Wert wird abgelehnt, damit eine fehlerhafte Extraktion nicht zu einem scheinbar verlässlichen Ergebnis führt.
Nutzen Sie die Prüfung innerhalb einer vollständigen Druckvorstufe
Führen Sie die Prüfung nach dem Extrahieren der Liste und vor der Freigabe für Druck, Verteilung oder Archivierung aus. Ist all_embedded false, erstellen Sie mit not_embedded_fonts einen gezielten Korrekturbericht. Der Autor kann mit den Originalschriften neu exportieren, Schriften mit geeigneter Einbettungslizenz wählen oder grafischen Text gegebenenfalls in Pfade umwandeln. Extrahieren Sie danach eine neue Liste. Die Einbettung ist nur ein Prüfaspekt; auch Farbräume, Auflösung, Anschnitt, Seitenrahmen, Transparenz, Verschlüsselung und PDF-Norm können wichtig sein. Diese Funktion bewertet weder Lizenzen noch verfügbare Glyphen oder die Durchsuchbarkeit von Pfadtext.
Anwendungsfälle
Prüfen Sie eine Druckvorlage
Lehnen Sie Dokumente ab, deren extrahierte Liste eine nicht eingebettete Schriftressource enthält.
Sichern Sie die Dokumentportabilität
Prüfen Sie Berichte, Handbücher und Formulare vor der Verteilung, um Schriftersetzungen zu vermeiden.
Ergänzen Sie eine Qualitätskontrolle
Wandeln Sie Schriftenmetadaten einer vorhandenen Prüfung in ein deterministisches Automationsergebnis um.
Häufige Fragen
Öffnet oder analysiert diese Funktion die PDF-Datei?
Nein. Sie prüft eine Schriftenliste und Statuswerte aus einem Inspektions- oder Druckvorstufenwerkzeug.
Was geschieht bei einer leeren Schriftenliste?
Die Anfrage wird als ungültig abgelehnt, weil eine leere Extraktion keine verlässliche Aussage erlaubt.
Gelten Namen von Schriftteilmengen automatisch als eingebettet?
Nein. Namen sind nur Bezeichnungen; maßgeblich ist der ausdrücklich übermittelte boolesche Status.
Werden doppelte Schriftnamen entfernt?
Nein. Jeder Datensatz wird gezählt und jedes nicht eingebettete Vorkommen behält seine Reihenfolge.
Garantiert ein vollständig eingebettetes Ergebnis die Druckreife?
Nein. Es bestätigt nur die übermittelten Statuswerte; weitere Druckprüfungen können erforderlich sein.
Was kostet eine API-Anfrage?
Jede Anfrage kostet $0.002. Die Browserversion verwendet dieselbe deterministische Prüflogik.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/pdf/font-embedding-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/font-embedding-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/font-embedding-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/font-embedding-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/font-embedding-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.font_embedding_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_items | 10000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |