PDF-Seiten markieren die OCR brauchen
Markieren Sie vier Seiten als Text, Bild, Text, Bild, und Sie erfahren: Seite 2 und 4 brauchen OCR, Seite 1 und 3 sind schon durchsuchbar, samt kurzer Zusammenfassung. Schicken Sie nur diese Seiten in die Texterkennung. 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.
Viele PDFs mischen nativ digitale Seiten mit bereits wählbarer Textschicht und gescannte Bildseiten, die am Bildschirm gut aussehen, aber weder Kopieren noch Suchen noch Indexieren zulassen. Bevor Sie Budget für OCR des gesamten Dokuments ausgeben oder die Datei in eine Pipeline schicken, die extrahierbaren Text annimmt, brauchen Sie die genaue Liste der Seitennummern ohne Textschicht. Diese Fähigkeit nimmt diese boolesche Präsenzkarte entgegen—true, wenn eine Seite extrahierbaren Text hat, false, wenn sie nur Bild ist—und liefert die Seiten, die OCR brauchen, die bereits durchsuchbaren Seiten, Zähler, das OCR-Verhältnis und eine einzeilige Zusammenfassung. Leere Eingabe wird abgelehnt, damit Stille nie als Erfolg gilt.
Was Textschicht-Flags bedeuten und warum seitenweises OCR zählt
Eine PDF-Seite kann Glyphen darstellen, die wie Text aussehen, und dennoch nur ein Rasterbild speichern. Nachgelagerte Werkzeuge, die Text-Extraktions-APIs aufrufen, erhalten dann leere Zeichenketten, die Volltextsuche überspringt die Seite, Barrierefreiheits-Reader melden nichts Nützliches und Archiv-Pipelines, die nativen Text erwarten, scheitern still. Das praktische Mittel ist OCR, aber OCR auf jeder Seite eines großen gemischten Dokuments verschwendet Zeit und Geld, wenn die Hälfte bereits eine Textschicht hat.
Der Vertrag hier ist bewusst eng: Sie wissen bereits—oder eine leichte Sonde hat bereits gemessen—, ob jede Seite extrahierbaren Text hat. Sie übergeben diese geordnete Liste boolescher Flags; dieser Endpunkt öffnet das PDF nicht. true bedeutet, die Seite ist durchsuchbar und braucht kein OCR; false bedeutet, sie ist nur Bild (oder ohne Textschicht) und gehört in die OCR-Warteschlange. Flags werden in Dokumentreihenfolge ab Seite eins gelesen.
Wo sich die seitenweise Prüfung lohnt
Digitalisierungsstellen erhalten gemischte Mappen: native digitale Exporte zwischen Flachbett-Scans. Ein Preflight-Schritt, der die Textschicht-Präsenz bereits gemessen hat, kann diesen Endpunkt aufrufen, um eine Arbeitsliste von Seitennummern für die OCR-Warteschlange zu erzeugen, ohne hunderte Seiten umfassende Dateien erneut zu öffnen. Teams für Barrierefreiheits-Nachbesserung brauchen eine deterministische Liste von Seiten, die Wähltext-Prüfungen nicht bestehen, damit Tickets seitenweise statt dokumentweit geöffnet werden.
Halten Sie Anfragen klein, pinnen Sie die geordneten Seitenlisten in Tests, und Sie erhalten ein reproduzierbares Tor zwischen PDF-Inventar und OCR-Ausgaben, ohne einen Dokument-KI-Stack nur für einen booleschen Scan aufzubauen.
Anwendungsfälle
Selektive OCR-Arbeitslisten
Wandeln Sie eine Textschicht-Sonde pro Seite in eine einsbasierte Liste der Seiten um, die noch OCR brauchen, damit Stapeljobs bereits durchsuchbare Seiten überspringen.
Tickets zur Barrierefreiheits-Nachbesserung
Öffnen Sie Tickets auf Seitenebene für reine Bildseiten ohne extrahierbaren Text, statt das gesamte Dokument zu markieren.
Häufige Fragen
Sind Seitenzahlen nullbasiert oder einsbasiert?
Einsbasiert, wie Menschen und die meisten PDF-Oberflächen zählen. Das erste Flag ist Seite 1, das zweite Seite 2, und so weiter.
Öffnet oder OCR-t diese Fähigkeit die PDF-Datei?
Nein. Sie analysiert nur die booleschen Textschicht-Flags, die Sie liefern.
Was sagt der OCR-Anteil aus?
Er zeigt, welcher Teil des Dokuments noch erkannt werden muss: Seiten ohne Text geteilt durch alle Seiten. Bei vier Seiten, von denen zwei keinen Text haben, beträgt er 0,5, also die Hälfte.
Warum braucht eine Seite mit sichtbarem Text trotzdem OCR?
Weil das Sichtbare nur ein Bild des Textes sein kann. Gescannte Seiten sehen am Bildschirm gut aus, speichern aber nur ein Bild, sodass Kopieren, Suchen und Bildschirmleser nichts damit anfangen können.
Was passiert, wenn der Wert einer Seite ungültig ist?
Die Prüfung bricht ab und nennt diese Seite, gezählt ab eins, damit Sie den Schritt korrigieren können, der die Liste erzeugt hat. Auch eine leere Liste wird abgelehnt, damit Stille nie als Erfolg gilt.
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/searchable-ocr-flag \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text_layer":[true,false,true,false]}'const res = await fetch("https://api.kit.forhosting.com/pdf/searchable-ocr-flag", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text_layer": [
true,
false,
true,
false
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/searchable-ocr-flag",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text_layer": [
true,
false,
true,
false
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/searchable-ocr-flag", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text_layer":[true,false,true,false]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text_layer":[true,false,true,false]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/searchable-ocr-flag", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text_layer": [
true,
false,
true,
false
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.searchable_ocr_flag",
"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
Was Textschicht-Flags bedeuten und warum seitenweises OCR zählt
Die Antwort listet needs_ocr_pages und searchable_pages als einsbasierte Seitenzahlen, plus needs_ocr_count, searchable_count, all_need_ocr, all_searchable, ocr_ratio als needs_ocr_count geteilt durch page_count, ein pages-Array mit has_text_layer und needs_ocr pro Seite sowie ein menschenlesbares summary für Protokolle und UI-Banner. Diese Form erlaubt einem Stapeljob, nur markierte Seiten per OCR zu verarbeiten, bereits durchsuchbare zu überspringen und die Abdeckung zu melden, ohne die PDF-Bytes erneut zu parsen.
Eingabevertrag, Antwortform und Fehler bei leerer Liste
Jeder Eintrag sollte boolesch sein; der Solver akzeptiert auch die numerischen Token null und eins sowie die üblichen Zeichenketten true, false, yes, no, y, n, zero und one, sodass CSV- oder Formularexporte ohne Vorumwandlung eingefügt werden können. Ungültige Token auf einer bestimmten Seite scheitern mit der einsbasierten Seitennummer, damit Sie die Sonde korrigieren können, die die Karte erzeugt hat. Koppeln Sie diese Ausgabe mit Ihrem eigenen OCR-Läufer oder einem verwandten PDF-OCR-Produkt, wenn Sie nur die gelisteten Seiten verarbeiten wollen. Senden Sie einen JSON-Body mit text_layer, einem erforderlichen nicht leeren Array von Präsenz-Flags pro Seite in Dokumentreihenfolge. Die Aliase pages, flags und has_text werden für dasselbe Array akzeptiert. Ein leeres Array, eine leere Zeichenkette, ein fehlendes Feld oder null schlagen mit invalid_input fehl und einer Meldung, die text_layer nennt und angibt, dass mindestens ein Seiten-Flag nötig ist—diese Fehlschläge werden nicht berechnet. Bei Erfolg liefert der Body page_count gleich der Flag-Länge, needs_ocr_pages für jedes false, searchable_pages für jedes true, die beiden Zähler, all_need_ocr wenn jede Seite OCR braucht, all_searchable wenn keine, ocr_ratio auf zwölf Dezimalstellen gerundet für stabile Tests über Laufzeiten, das detaillierte pages-Array und summary. Beispiel: Flags true, false, true, false ergeben page_count vier, needs_ocr_pages zwei und vier, searchable_pages eins und drei, needs_ocr_count zwei, ocr_ratio null Komma fünf und eine Zusammenfassung, dass zwei von vier Seiten OCR brauchen.
Wo eine API für OCR-bedürftige Seiten-Flags ihren Nutzen bringt
Such- und E-Discovery-Plattformen nutzen dieselben Flags, um zu entscheiden, ob ein Dokument indexbereit ist oder auf OCR warten muss, und das Feld ocr_ratio speist Qualitäts-Dashboards, die verfolgen, wie viel jedes Eingangs-Batches noch rein bildhaft ist. Weil die Implementierung Parse-Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Token und ohne ausgehendes Netz; fehlgeschlagene Validierung wird nicht berechnet.
Integrationsbeispiele
Eingang und Indexbereitschaft
Entscheiden Sie mit needs_ocr_count und ocr_ratio in Ihrer Pipeline, ob ein gemischtes PDF für Volltextsuche bereit ist oder auf OCR warten muss.
Technische Fragen
Wie markiere ich PDF-Seiten, die OCR brauchen?
Senden Sie text_layer als nicht leeres Array von Booleschen Werten in Seitenreihenfolge (true = extrahierbarer Text, false = braucht OCR). Die API liefert needs_ocr_pages, searchable_pages, Zähler, ocr_ratio und ein summary.
Was passiert, wenn text_layer leer ist?
Die Aufgabe schlägt mit invalid_input fehl. Eine leere oder fehlende Flag-Liste wird abgelehnt, damit Stille nie als «keine Seite braucht OCR» gilt. Fehlgeschlagene Validierung wird nicht berechnet.
Was kostet das Markieren von PDF-Seiten, die OCR brauchen?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.