Leere PDF-Seiten entfernen und verbleibende Seiten zählen
Entfernen Sie leere PDF-Seiten aus einem Dokumentablauf, ohne die zu löschenden Seitennummern zu erraten.
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.
Übermitteln Sie für jede Seite in der richtigen Reihenfolge einen Datensatz und geben Sie an, ob Text oder Bilder vorhanden sind. Die Funktion stuft eine Seite nur dann als leer ein, wenn beide Signale fehlen, gibt ihre einsbasierten Nummern zurück und berechnet die verbleibende Seitenzahl. Das hilft nach Scan, Zusammenstellung oder Export, wenn ein anderer Schritt den Inhalt bereits erkannt hat.
Beschreiben Sie jede Seite in Originalreihenfolge
Nutzen Sie das Inventar Ihres Analyseprogramms, Scanners oder Dokumentablaufs. Senden Sie ein pages-Array mit genau einem Datensatz je Seite und bewahren Sie die Reihenfolge. Jeder Datensatz benötigt zwei Wahrheitswerte: has_text kennzeichnet Text und has_images Bilder. Verwenden Sie true oder false, keine Texte oder Zahlen. Die Position bestimmt die Nummer; der erste Datensatz steht für Seite 1. Nehmen Sie jede Seite auf, damit spätere Nummern nicht verschoben werden.
Verstehen Sie die Definition einer leeren Seite
Eine Seite gilt nur als leer, wenn has_text und has_images false sind. Text oder ein Bild genügt zum Beibehalten. Diese vorsichtige Regel schützt Scans, Unterschriften, Diagramme und Deckblätter. Die Funktion bewertet weder sichtbaren Weißraum noch OCR, Anmerkungen oder Pfade; allein Ihre Merkmale entscheiden. Die Antwort enthält einsbasierte Nummern sowie ursprüngliche, entfernte und verbleibende Anzahl. Sind alle Seiten leer, bleiben null; andernfalls kann die Liste leer sein.
Wenden Sie das Ergebnis sicher an
Verwenden Sie blank_pages als Löschplan für die Bibliothek, die das eigentliche PDF verarbeitet. Weil viele Werkzeuge Indizes nach jeder Löschung verschieben, löschen Sie absteigend oder übergeben Sie die gesamte ursprüngliche Auswahl auf einmal. Prüfen Sie remaining_page_count, falls Ihr System ein Dokument ohne Seiten ablehnen soll. Die Zahlen eignen sich auch für Vorschau und Prüfung. Die Berechnung ist deterministisch, arbeitet ohne Netzwerk oder OCR und kostet $0.002 je API-Aufruf.
Anwendungsfälle
Bereinigen Sie Scan-Stapel
Wandeln Sie Scannermerkmale vor der Archivierung jedes PDF in eine Löschliste um.
Entfernen Sie Export-Trennseiten
Finden Sie beim Zusammenführen eingefügte Leerseiten und berechnen Sie die endgültige Anzahl.
Zeigen Sie die Bereinigung vorab
Zeigen Sie vor der Änderung, welche Seiten entfernt werden und wie viele verbleiben.
Häufige Fragen
Was kostet die Nutzung?
Ein API-Aufruf kostet $0.002. Dieselbe deterministische Berechnung ist auch im Browser verfügbar.
Wann gilt eine Seite als leer?
Nur wenn has_text und has_images false sind. Ist eines true, bleibt die Seite erhalten.
Beginnen die Seitennummern bei null?
Nein. Sie beginnen bei eins; der erste Datensatz entspricht somit Seite 1.
Bearbeitet oder liefert die Funktion eine PDF-Datei?
Nein. Sie liefert Löschplan und Zahlen; Ihre PDF-Bibliothek führt die Löschung aus.
Was geschieht, wenn alle Seiten leer sind?
Alle werden aufgeführt und remaining_page_count ist null. Ihre Anwendung entscheidet über das Ergebnis.
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/remove-blank-pages \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/remove-blank-pages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/remove-blank-pages",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/remove-blank-pages", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/remove-blank-pages", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.remove_blank_pages",
"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. |