OCR-API – Durchsuchbare PDFs aus Bildern und Scans erstellen
Die MaraDocs OCR-API erstellt durchsuchbare PDFs mit Textebene. Das Originaldokument bleibt erhalten – Text ist auswählbar und durchsuchbar. Nicht nur extrahierter Text.
Gescannte Dokumente und Fotos enthalten Text, der weder auswählbar noch durchsuchbar ist. Viele OCR-APIs geben nur extrahierten Text zurück, nicht das Originaldokument mit einer unsichtbaren Textebene. Man möchte dasselbe PDF – gleiches Layout und gleiche Darstellung – aber mit auswählbarem, durchsuchbarem Inhalt. Das ist es, was eine ordentliche OCR-API für durchsuchbare PDFs leisten sollte.
Warum eine eigene durchsuchbare PDF-OCR-Lösung Wochen dauert
Wer das selbst aufbauen möchte, stellt schnell fest, dass Tesseract, EasyOCR oder Cloud-OCR nur Klartext und Begrenzungsrahmen zurückgeben. Um eine durchsuchbare PDF zu erstellen, muss der Text unsichtbar über dem Originalbild oder der Original-PDF eingeblendet werden. Das erfordert die Koordination von Koordinatensystemen, Schriften, Kodierungen und PDF-Struktur. Verschiedene Sprachen, Schriften und Layouts erhöhen die Komplexität. Eine robuste OCR-API, die das eigene Dokument intakt lässt, erfordert erheblichen Entwicklungsaufwand.
Wie die MaraDocs OCR-API das in Minuten löst
Die MaraDocs API führt OCR durch und gibt eine PDF mit unsichtbar eingeblendeter Textebene aus. Man erhält das Originaldokument – Layout, Bilder, Darstellung – mit auswählbarem und durchsuchbarem Text. Keine separate Textdatei. Keine abgespeckte Version. Dasselbe Dokument, verbessert.
OCR-Workflow: Validieren, OCR, Optimieren
Für Bilder: validieren, dann img.ocrToPdf. Für PDFs: validieren, dann pdf.ocrToPdf (optional nach pdf.orientation zum vorherigen Korrigieren gedrehter Seiten). Das High-Level flow.ocrImg und flow.ocrPdf kombinieren Ausrichtung, OCR und Optimierung in einem Aufruf. Der Output ist immer ein PDF-Handle – dasselbe Dokument mit einer unsichtbaren Textebene –, das heruntergeladen oder an Komposition, Komprimierung oder E-Mail-Workflows weitergegeben werden kann. Die Pipeline bleibt serverseitig; kein erneutes Hochladen zwischen den Schritten.
Get your API key in under a minute
Register for a free account and get your API key in under a minute. Of course we'll provide you with some developer credits.
Try MaraDocs API now →Was MaraDocs unterscheidet: Workspaces, Webview und deutsches Datenschutzrecht
Die meisten Dokumenten-APIs zwingen zum Hochladen, Verarbeiten, Herunterladen und erneuten Hochladen für den nächsten Schritt. Bei MaraDocs läuft OCR im eigenen Workspace. Mit Dokumentextraktion, Komposition oder Komprimierung verketten – das PDF-Handle direkt zur nächsten Operation weitergeben. Kein erneutes Hochladen, weniger Roundtrips.
Wenn OCR-Ergebnisse manuell korrigiert werden müssen – falsch erkannte Zeichen, komplexe Layouts oder qualitativ minderwertige Scans – kann app.maradocs.io für manuelle Prüfung und Bearbeitung geöffnet werden. Nutzer erhalten volle manuelle Kontrolle, wenn die Automatisierung an ihre Grenzen stößt.
Die gesamte Verarbeitung erfolgt in Deutschland (Maramia GmbH), verschlüsselt im Ruhezustand und während der Übertragung. Workspaces verfallen nach 7 Tagen. Keine Daten verlassen die EU. Für datenschutzsensible OCR-Workloads ist das relevant.
TypeScript-Code zum Erstellen durchsuchbarer PDFs mit OCR
API-Referenz: data/upload, img/validate, pdf/validate, img/ocr/to/pdf, pdf/ocr/pdf, data/download/pdf
import { MaraDocsClient } from "@maramia/maradocs-sdk-ts";
import { okImg } from "@maramia/maradocs-sdk-ts/models/img";
import { okPdf } from "@maramia/maradocs-sdk-ts/models/pdf";
const client = new MaraDocsClient({ workspaceSecret: workspace_secret });
// High-Level: hochladen, validieren, vollständige Pipeline, herunterladen
const pdfHandle = await client.flow.ocrImg(imageFile);
const blob = await client.data.downloadPdf({ pdf_handle: pdfHandle });
// Low-Level: Bild – hochladen, validieren, OCR, herunterladen
const uploaded = await client.data.upload(imageFile);
const validated = await client.img.validate({ unvalidated_file_handle: uploaded.unvalidated_file_handle });
const imgHandle = okImg(validated);
const ocrPdf = await client.img.ocrToPdf({
img_handle: imgHandle,
options: { embed_in_blank_page: { size: { width: 210, height: 297 }, position: "center" } },
});
const blob2 = await client.data.downloadPdf({ pdf_handle: ocrPdf.pdf_handle });
// PDF: hochladen, validieren, ocrToPdf, herunterladen
const pdfUploaded = await client.data.upload(pdfFile);
const pdfValidated = await client.pdf.validate({ unvalidated_file_handle: pdfUploaded.unvalidated_file_handle });
const pdfOcr = await client.pdf.ocrToPdf({ pdf_handle: okPdf(pdfValidated) });
const blob3 = await client.data.downloadPdf({ pdf_handle: pdfOcr.pdf_handle });
Python-Code für OCR zu durchsuchbarer PDF
API-Referenz: data/upload, img/validate, img/ocr/to/pdf, pdf/ocr/pdf, data/download/pdf
import requests
import time
API_URL = "https://api.maradocs.io/v1"
headers = {"Authorization": f"Bearer {WORKSPACE_SECRET}"}
def poll(url, job_id):
while True:
r = requests.get(f"{url}/{job_id}", headers=headers).json()
if r["status"] == "complete":
return r["response"]["response"]
time.sleep(1)
# 1. Hochladen, 2. Bild validieren
upload = requests.post(f"{API_URL}/data/upload", headers=headers, files={"file": (...)}).json()
val = requests.post(f"{API_URL}/img/validate", headers=headers,
json={"unvalidated_file_handle": upload["unvalidated_file_handle"]}).json()
img_handle = poll(f"{API_URL}/img/validate", val["job_id"])["img_handle"]
# 3. OCR zu PDF
ocr = requests.post(f"{API_URL}/img/ocr/to/pdf", headers=headers, json={"img_handle": img_handle}).json()
ocr_data = poll(f"{API_URL}/img/ocr/to/pdf", ocr["job_id"])
pdf_handle = ocr_data["pdf_handle"]
# 4. Herunterladen
pdf_resp = requests.get(f"{API_URL}/data/download/pdf", headers=headers, params={"pdf_handle": pdf_handle})
with open("searchable.pdf", "wb") as out:
out.write(pdf_resp.content)
Zusammenfassung und nächste Schritte
Eine OCR-API, die durchsuchbare PDFs erstellt – das Originaldokument mit unsichtbarer Textebene – ist verfügbar. MaraDocs erhält das ursprüngliche Layout und fügt auswählbaren, durchsuchbaren Text hinzu. Weitere verwandte Workflows: Dokumentenscanner, PDF-Verarbeitung und Bild auf leere Seite.
Useful links
Jetzt ausprobieren: MaraDocs API | TypeScript SDK
Jetzt Newsletter abonnieren
Bleiben Sie mit uns auf dem Laufenden und erhalten Sie die neuesten Nachrichten, Artikel und Ressourcen per E-Mail.