Gescanntes PDF durchsuchbar machen
Ein gescanntes PDF ist nur ein Bild der Seite: Text lässt sich weder suchen noch kopieren. Dieser Dienst legt eine unsichtbare OCR-Textebene über das Bild, sodass Strg+F funktioniert und einzelne Passagen kopierbar sind – das sichtbare Erscheinungsbild bleibt dabei vollständig unverändert.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Was die Textebene tatsächlich verändert
Die Texterkennung liest jedes Wort aus dem eingescannten Bild und legt es unsichtbar an genau derselben Stelle über die Seite. Beim Öffnen sehen Sie weiterhin exakt denselben Scan – Stempel, Unterschriften und Kaffeeflecken eingeschlossen. Neu ist, dass sich Textstellen markieren, Absätze kopieren und Begriffe per Suche wiederfinden lassen. Genau dieses Verfahren nutzen Dokumentenmanagementsysteme, um aus einem toten Aktenberg einen recherchierbaren Bestand zu machen.
Vom Flachbettscanner bis zum Smartphone-Foto
Die Erkennung funktioniert sowohl mit klassischen Scans als auch mit brauchbaren Smartphone-Fotos – vorausgesetzt, die Seite ist vollständig im Bild und ausreichend beleuchtet. Ein Vertrag, mit 300 dpi eingescannt, liefert nahezu fehlerfreien Text; ein schräg fotografierter, zerknitterter Beleg liefert brauchbaren, aber nicht perfekten Text. Das sichtbare Ergebnis ändert sich nie – nur die Qualität der Textebene im Hintergrund schwankt mit der Vorlage.
Wofür Kanzleien und Buchhaltungen das einsetzen
Kanzleien, die jahrzehntealte unterschriebene Verträge digitalisiert haben und nun eine bestimmte Kündigungsklausel suchen, ohne jede Datei einzeln zu öffnen. Steuerberatungen, die von neuen Mandanten Kisten alter Belege übernehmen. Verwaltungen, die für eine Prüfung einen durchsuchbaren Bestand vorlegen müssen. In jedem Fall bleibt die optische Gültigkeit des Scans erhalten, während sich das Dokument wie Text verhält – durchsuchbar, kopierbar, archivierbar nach GoBD.
Preis und aktueller Stand der Einführung
Abgerechnet wird pro Anfrage: $0.042 Grundgebühr plus $0.0025 pro verarbeiteter Seite – ein Dossier mit 100 Seiten kostet damit $0.292. Das Limit liegt bei 25 MB und 200 Seiten pro Datei. Ein wichtiger Hinweis zur Ehrlichkeit: Diese Funktion befindet sich derzeit in der Bereitstellung und nimmt noch keine Ausführungen entgegen. Preis und Grenzen stehen bereits fest, damit Sie die Integration planen können; sobald die Funktion öffnet, ist sie sofort einsatzbereit.
Anwendungsfälle
Vertragsarchiv einer Stuttgarter Kanzlei
Die Kanzlei von Weber Metallbau GmbH ließ zehn Jahre unterschriebener Lieferverträge scannen. Mit der OCR-Textebene findet das Team jede Klausel über die interne Suche, statt Ordner für Ordner durchzublättern.
Alte Belege für die neue Buchhaltung
Eine Steuerberatung übernimmt für Bäckerei Hoffmann e. K. eine Kiste eingescannter Belege aus 2022. Nach der Texterkennung lässt sich jede Rechnung über den Lieferantennamen finden, statt Datei für Datei zu öffnen.
Prüfung verlangt durchsuchbaren Bestand
Schneider IT-Systeme GmbH & Co. KG muss dem Finanzamt Frachtbelege zweier Jahre vorlegen. Statt loser Bildscans liefert die Firma PDFs mit Textebene – die Prüfer finden Belege über USt-IdNr. und Datum.
Alte Prüfungsunterlagen der Schule
Eine Schule in Leipzig scannt handschriftlich korrigierte Klausuren zur Aufbewahrung ein. Mit erkanntem Text findet das Sekretariat die Arbeit eines Schülers über den Namen, direkt im Netzlaufwerk.
Häufige Fragen
Sieht das Dokument nach der Verarbeitung anders aus?
Nein. Die Textebene liegt unsichtbar hinter dem Bild. Stempel, Unterschriften und das gewohnte Erscheinungsbild des Scans bleiben unverändert erhalten.
Erkennt die Texterkennung deutsche Umlaute und ß zuverlässig?
Ja, ä, ö, ü und ß werden korrekt erkannt. Die Erkennung deckt Deutsch und die gängigsten weiteren Sprachen ab.
Reicht ein Foto vom Smartphone oder brauche ich einen Scanner?
Ein Foto reicht, sofern die Seite vollständig und gut lesbar im Bild ist. Ein Scanner mit 300 dpi liefert das zuverlässigste Ergebnis.
Was kostet die Verarbeitung eines 100-seitigen Dossiers?
$0.042 Grundgebühr plus 100 × $0.0025 = $0.292. Abgerechnet wird pro Anfrage, in US-Dollar, ohne Abonnement.
Werden die Inhalte meiner Dokumente gespeichert?
Nur so lange, wie die Verarbeitung dauert und das Ergebnis zum Abruf bereitsteht; danach wird die Datei gelöscht und für keinen anderen Zweck genutzt.
Kann ich diese Funktion schon jetzt nutzen?
Noch nicht: Sie befindet sich in der Bereitstellung und nimmt derzeit keine Ausführungen an. Preis und Limits sind bereits veröffentlicht und gelten unverändert, sobald sie startet.
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/ocr-layer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/ocr-layer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/ocr-layer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/ocr-layer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/ocr-layer", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pdf": "https://ejemplo.com/documento.pdf"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.ocr_layer",
"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. |
413 | input_too_large | Die Eingabe überschreitet das Größenlimit dieser Aufgabe – die genaue Grenze steht auf der Seite. |