PDF-Metadaten löschen
Geben Sie die aus einem PDF gelesenen Metadaten ein, etwa Title, Author, Creator, CreationDate und eine interne Tracking-Nummer, und Sie erhalten sie leer zurück, mit der sortierten Liste der fünf entfernten Namen. Die PDF-Datei selbst bleibt unverändert. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
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.
Entfernen Sie PDF-Metadaten, nachdem sie aus einem Dokument extrahiert wurden und bevor der Datensatz geteilt, protokolliert oder an einen weiteren Schritt übergeben wird. Stellen Sie den Metadatenblock als Objekt bereit. Diese Funktion gibt ein leeres Metadatenobjekt sowie eine alphabetische Liste der entfernten Felder zurück. Sie untersucht oder verändert keine PDF-Bytes. Stattdessen erhalten Anwendungen einen kleinen, deterministischen Bereinigungsvertrag, der sich einfach testen, prüfen und mit einem vorhandenen PDF-Leser oder -Writer kombinieren lässt.
Stellen Sie den extrahierten Metadatenblock bereit
Beginnen Sie mit dem Metadatenobjekt, das ein PDF-Parser, ein Dokumentendienst oder ein Formular erzeugt hat. Übergeben Sie dieses Objekt im Feld metadata der Anfrage. Seine Eigenschaften können übliche Bezeichnungen für PDF-Informationen wie Title, Author, Subject, Keywords, Creator, Producer, CreationDate oder ModDate verwenden.
Die Funktion beschränkt das Vokabular jedoch nicht auf eine feste Liste. Auch benutzerdefinierte Eigenschaften werden entfernt. Das ist wichtig, weil Organisationen häufig interne Workflow-Kennzeichnungen, Vorlagen-IDs, Namen von Quellsystemen oder Exporteinstellungen ergänzen, die mehr als die Standardfelder preisgeben können.
Die Anfrage muss ein echtes Objekt enthalten. Auch ein Array ist unzulässig, weil nummerierte Einträge keine Zuordnung von Metadateneigenschaften darstellen. Werte dürfen Zeichenfolgen, Zahlen, boolesche Werte, null, Arrays oder verschachtelte Objekte sein, denn für das Entfernen zählt die Existenz eines Feldes, nicht die Auswertung seines Inhalts.
Verstehen Sie das leere Ergebnis und den Löschbericht
Eine erfolgreiche Antwort enthält metadata stets als leeres Objekt. Zusätzlich enthält sie removed, ein alphabetisch sortiertes Array mit allen eigenen, aufzählbaren Feldern des bereitgestellten Metadatenblocks. Durch die Meldung der Namen wird die Bereinigung nachvollziehbar: Sie können bestätigen, dass Author, Creator, Datumsfelder oder eine benutzerdefinierte Tracking-Eigenschaft vorhanden waren und gelöscht wurden, ohne den ursprünglichen Wert in der Antwort zu bewahren.
Die alphabetische Reihenfolge ist beabsichtigt. JavaScript-Objekte können in unterschiedlicher Einfügereihenfolge aufgebaut werden, doch gleichwertige Feldmengen sollten nach Möglichkeit dieselbe Bestätigung erzeugen. Der Algorithmus zählt daher die eigenen Felder des Objekts auf, sortiert ihre Namen mit einer festgelegten englischen Locale und gibt ausschließlich diese Namen zurück.
Er durchläuft keine geerbten Eigenschaften, kontaktiert keinen anderen Dienst und verwendet weder eine Uhr noch eine Zufallsquelle. Ein leeres Metadatenobjekt ist gültig und erzeugt eine leere removed-Liste. Das ist für idempotente Abläufe nützlich: Die erneute Bereinigung eines bereits bereinigten Datensatzes schlägt nicht fehl und meldet keine erfundene Änderung.
Ordnen Sie den Schritt richtig in einen PDF-Ablauf ein
Verwenden Sie diese Funktion zwischen der Metadatenextraktion und dem Schritt, der den bereinigten Datensatz schreibt, speichert oder teilt. Wenn das endgültige Ergebnis eine PDF-Datei ist, muss ein PDF-Writer das leere Objekt weiterhin auf das Dokument anwenden und Eigenschaften des Informationsverzeichnisses oder XMP aus den Bytes entfernen. Diese Funktion behauptet ausdrücklich nicht, ein Binärdokument zu bearbeiten.
Diese Trennung ist sinnvoll, wenn Ihr System den Dateizugriff bereits übernimmt, aber eine einheitliche Regel zum Leeren beschreibender Datensätze benötigt. Ein Dokumenteneingangsdienst kann beispielsweise Metadaten lesen, den Block hier übergeben, nur die Namen der entfernten Felder in einem Prüfereignis festhalten und seinen Writer anweisen, den leeren Ersatz zu speichern. Die removed-Liste bestätigt Feldnamen, ist aber kein Beleg dafür, dass eine separate PDF-Datei neu geschrieben wurde.
Anwendungsfälle
Einen extrahierten Dokumentdatensatz bereinigen
Ersetzen Sie den von einem Parser erzeugten Metadatenblock durch ein leeres Objekt, bevor der Datensatz einen nachgelagerten Dienst erreicht.
Ein datensparsames Prüfereignis erstellen
Protokollieren Sie die Namen entfernter Metadatenfelder, ohne ihre möglicherweise vertraulichen Werte in Protokolle zu kopieren.
Eine einheitliche Veröffentlichungsregel durchsetzen
Wenden Sie in mehreren PDF-Eingangs- und Exportpfaden dieselbe deterministische Regel auf Standard- und benutzerdefinierte Metadaten an.
Häufige Fragen
Verändert diese Funktion die PDF-Bytes?
Nein. Sie verarbeitet ein bereits extrahiertes Metadatenobjekt. Wenden Sie das leere Ergebnis mit einem PDF-Writer auf eine Dokumentdatei an.
Welche Metadatenfelder werden entfernt?
Alle eigenen, aufzählbaren Felder des bereitgestellten Metadatenobjekts, einschließlich standardmäßiger und benutzerdefinierter Eigenschaftsnamen.
Werden die entfernten Metadatenwerte zurückgegeben?
Nein. Gemeldet werden nur die Namen der entfernten Felder; die Antwort bewahrt die ursprünglichen Werte nicht auf.
Was geschieht, wenn die Metadaten bereits leer sind?
Der Aufruf ist erfolgreich und liefert ein leeres Metadatenobjekt sowie ein leeres removed-Array.
Werden auch eigene, benutzerdefinierte Einträge entfernt?
Ja. Jeder Eintrag wird gelöscht, nicht nur übliche wie Title oder Author. Auch interne Ablaufkennzeichen, Vorlagenkennungen oder Namen des Quellsystems verschwinden, obwohl gerade sie oft mehr verraten als die Standardangaben.
Verwandte Tools
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/strip-metadata \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"metadata":{"Title":"Board minutes","Author":"Example User","Creator":"Office Suite","CreationDate":"D:20260725103000Z"}}'const res = await fetch("https://api.kit.forhosting.com/pdf/strip-metadata", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"metadata": {
"Title": "Board minutes",
"Author": "Example User",
"Creator": "Office Suite",
"CreationDate": "D:20260725103000Z"
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/strip-metadata",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"metadata": {
"Title": "Board minutes",
"Author": "Example User",
"Creator": "Office Suite",
"CreationDate": "D:20260725103000Z"
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/strip-metadata", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"metadata":{"Title":"Board minutes","Author":"Example User","Creator":"Office Suite","CreationDate":"D:20260725103000Z"}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"metadata":{"Title":"Board minutes","Author":"Example User","Creator":"Office Suite","CreationDate":"D:20260725103000Z"}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/strip-metadata", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"metadata": {
"Title": "Board minutes",
"Author": "Example User",
"Creator": "Office Suite",
"CreationDate": "D:20260725103000Z"
}
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.strip_metadata",
"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_mb | 25 |
max_pages | 200 |
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. |
Technische Hinweise
Stellen Sie den extrahierten Metadatenblock bereit
Eine Zeichenfolge mit JSON bleibt eine Zeichenfolge und wird abgelehnt, statt stillschweigend geparst zu werden. Parsen Sie serialisiertes JSON vor dem Aufruf, damit der Eingabevertrag ausdrücklich und vorhersehbar bleibt.
Ordnen Sie den Schritt richtig in einen PDF-Ablauf ein
Ein Veröffentlichungsablauf kann denselben Vorgang ausführen, bevor er Dokumentdetails über eine API bereitstellt. Jedes Element kostet über die API $0.002; die deterministische Implementierung ohne Netzwerkzugriff eignet sich außerdem für wiederholbare Browserabläufe.
Technische Fragen
Kann ich eine JSON-Zeichenfolge übergeben?
Nein. Parsen Sie sie zuerst. Das Feld metadata muss ein Objekt sein; Zeichenfolgen oder Arrays führen zu invalid_input.
Was kostet ein API-Aufruf?
Die Verarbeitung eines Metadatenobjekts kostet $0.002.