Tesseract OCR — Open-Source-Engine zur optischen Zeichenerkennung
Tesseract OCR ist eine auf Deep Learning basierende Engine zur Textextraktion aus Bildern und PDF-Dokumenten. Nutzen Sie diese Dokumentation, um die Installation unter Windows, Linux und macOS zu meistern, KI-Modi zu konfigurieren und OCR nahtlos in Ihre Software-Pipelines zu integrieren.
Was ist Tesseract?
Tesseract ist eine Engine, die Bildpixel in strukturierte, durchsuchbare Textdaten umwandelt. Ursprünglich 1985 bei Hewlett-Packard entwickelt, wird es heute von der weltweiten Open-Source-Community gepflegt und unterstützt über 100 Sprachen nativ durch neuronale LSTM-Netzwerke (Long Short-Term Memory).
Entwicklerleitfäden
Neben dieser Referenz veröffentlichen wir vollständige, getestete Leitfäden für jede Tesseract-Entwicklungsaufgabe:
- Installationsleitfaden — Windows, macOS, Linux, Docker und tessdata.
- Python-Leitfaden (pytesseract) — vom Bild zum Text, PDFs, Konfidenz und PSM/OEM.
- Bibliotheken & Wrapper — Python, JS, C++, Java, Go und .NET.
- PDF-Leitfaden — PDF-OCR, durchsuchbare PDFs, OCRmyPDF und Python.
- Trainingsleitfaden — tesstrain, Ground Truth und Fine-Tuning.
- API- & Service-Leitfaden — selbst gehostetes REST mit FastAPI und Docker.
Installation
Da Tesseract eine optimierte C++ Bibliothek ist, empfiehlt sich die Installation über den Paketmanager Ihres Betriebssystems.
macOS
Homebrew ist die offiziell empfohlene Methode für macOS (Apple Silicon und Intel Chips).
brew install tesseract
brew install tesseract-lang
Ubuntu / Debian
Die Standard-Paketquellen von apt enthalten stabile Versionen von Tesseract.
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-deu tesseract-ocr-all
Windows
Vorkompilierte Windows-Installer werden durch das UB Mannheim Projekt bereitgestellt. Paketmanager wie scoop oder winget unterstützen Tesseract ebenfalls nativ.
scoop install tesseract
scoop install tesseract-languages
Schnellstart & Grundlegende CLI-Befehle
Tesseract ist primär ein Kommandozeilenwerkzeug. Die Textextraktion gelingt in einer einzigen Zeile.
tesseract bildname ausgabename [-l sprache] [-psm segmentierungsmodus] [konfigurationsdatei...]
Beispiel: Deutschen Text extrahieren
Um Text aus rechnung.png zu extrahieren und in ergebnis.txt zu speichern:
tesseract rechnung.png ergebnis -l deu
.txt im Ausgabenamen weg. Tesseract hängt .txt automatisch an.
Seitensegmentierungsmodi (PSM)
Seitensegmentierungsmodi (PSM) steuern, wie Tesseract das visuelle Layout eines Bildes analysiert, um Textblöcke zu finden. Standardmäßig erwartet Tesseract eine vollständige Textseite (PSM 3). Wenn Ihre Eingabe nur eine Zeile oder unzusammenhängenden Text enthält, setzen Sie das Flag --psm entsprechend.
- 0: Nur Erkennung von Orientierung und Schriftart (OSD).
- 1: Automatische Seitensegmentierung mit OSD.
- 3: Vollautomatische Seitensegmentierung ohne OSD. *(Standard)*
- 4: Einzelne Textspalte mit variablen Schriftgrößen.
- 6: Einzelner einheitlicher Textblock.
- 7: Bild als einzelne Textzeile behandeln.
- 11: Sparsamer Text. Findet so viel Text wie möglich ohne feste Ordnung.
- 13: Reine Zeile. Verarbeitet als Einzelzeile unter Umgehung interner Heuristiken.
Um die Erkennung als einzelne Zeile zu erzwingen:
tesseract barcode.png stdout --psm 7
OCR Engine Modi (OEM)
Die Engine-Modi (OEM) erlauben das Umschalten zwischen dem klassischen regelbasierten Erkennungsverfahren und dem modernen neuronalen LSTM-Netzwerk. Sie können die Modi über das Flag --oem steuern, um Geschwindigkeit und Präzision abzustimmen.
- 0: Nur klassische Legacy-Engine. (Traditionelle Computer-Vision-Methoden).
- 1: Nur neuronale LSTM-Engine. (Schnell und hochpräzise).
- 2: Legacy- und LSTM-Engine kombiniert.
- 3: Standard, basierend auf dem geladenen
.traineddataModell.
Ausgabeformate
Neben einfachem Text im Terminal oder in .txt-Dateien kann Tesseract durchsuchbare PDFs und präzise Layoutgeometrien generieren.
Durchsuchbare PDFs
Um ein gescanntes Bild in ein durchsuchbares PDF mit unsichtbarem, exakt ausgerichtetem Text über dem Originalbild umzuwandeln:
tesseract dokument.tif ausgabe_pdf pdf
PDF nur mit unsichtbarem Text
Nützlich, wenn Sie in einer Pipeline erkannten Text über bereits bestehende PDF-Seiten legen möchten:
tesseract scan.png ausgabe textonly_pdf
hOCR / TSV / ALTO
Wenn Sie exakte Pixelkoordinaten (Bounding Boxes) jedes Wortes und deren Konfidenzwerte benötigen:
tesseract bild.png ausgabe hocr
tesseract bild.png ausgabe tsv
→ Vollständige Anleitung zu PDF mit Tesseract OCR — durchsuchbare PDFs, OCRmyPDF, Python und Fehlerbehebung.
Programmierschnittstellen & Wrapper
Möchten Sie Tesseract in eine Web-App oder einen Microservice einbinden? Die Community bietet Bibliotheken für nahezu jede moderne Programmiersprache.
Python (pytesseract)
Installieren Sie die Engine und dann pip install pytesseract pillow. Die vollständige Anleitung behandelt image_to_string, Bildvorverarbeitung, PDFs, Konfidenz, PSM/OEM-Konfiguration und Fehlerbehebung.
→ Vollständige Python-Anleitung für Tesseract OCR
Node.js JavaScript (tesseract.js)
Nutzen Sie tesseract.js im Browser oder in Node über WebAssembly. Es erkennt Bilder und unterstützt keine PDFs. Die vollständige Wrapper-Liste und Kompromisse finden Sie in der Bibliotheksreferenz.
Eigene OCR-Modelle trainieren
Tesseract 5 fine-tunt und trainiert LSTM-Modelle mit dem tesstrain-Projekt. Das Training ist in den Binärinstallern nicht verfügbar: Sie benötigen einen Quellcode-Build (oder WSL2) sowie make, Ground-Truth-Generierung und das tesstrain-Repository.
→ Vollständiger Tesseract-Trainingsleitfaden (tesstrain, Fine-Tuning, Deployment)
Verwandte Dokumenten-KI & Deep-Learning-Engines
Obwohl Tesseract der bewährte Open-Source-Standard ist, werden moderne Pipelines häufig durch spezialisierte Bibliotheken ergänzt:
- PaddleOCR: Deep-Learning-OCR-Framework (PP-OCR) mit hervorragender Tabellenerkennung und Unterstützung für mehrsprachige Dokumente. (Anleitung)
- Docling: Dokumentenparser für Generative AI und RAG, der PDFs und Bilder in strukturiertes Markdown und JSON umwandelt. (Anleitung)
- Python Pillow: Die Standardbibliothek zur Bildverarbeitung in Python (Kontrastanpassung, Schwellenwerte und Zuschnitt) vor dem OCR-Lauf.
Ende der Tesseract Kern-Dokumentation.
Haftungsausschluss: TesseractOCR.org ist ein unabhängiges Dokumentationsprojekt der Community und steht in keiner offiziellen Verbindung zum Projekt Tesseract OCR oder dessen Maintainern.