hOCR

Die hOCR-Format-API

Der hOCR-Format-Reader ermöglicht eine Verarbeitung und Verwendung von OCR-Daten, die im hOCR-Format vorliegen. Dokumente, die in Raster-Formaten vorliegen, können durch Hinzufügen von OCR Informationen beispielsweise durchsuchbar gemacht werden. Der Anwendungsfall geht davon aus, dass die Daten aus der Texterkennung bereits aus anderer Quelle vorliegen; es ist keine eigene Texterkennung in jadice integriert. Andere OCR-Formate als hOCR werden nicht unmittelbar verarbeitet. Es werden nur solche hOCR-Daten unterstützt, die mit Tesseract 3 (ab Version 3.05.00) oder Tesseract 4 (ab Version 4.0.0) erzeugt wurden. Entscheidend für eine korrekte Funktion sind die hOCR-Elemente ocr_page, ocr_carea, ocr_header, ocr_line und ocrx_word. Zusätzliche hOCR-Elemente stellen kein Problem dar und werden ignoriert.

Einlesen von Dokumenten mit OCR Informationen

Um ein jadice Dokument mit OCR-Daten zu erstellen wird üblicherweise zunächst der Basis-Datenstrom (also die Bildinformationen ohne OCR) eingelesen. Danach werden die OCR-Daten als weitere PageSegments auf die existierenden Seiten aufgenommen. Die bekannten Textwerkzeuge können dann wie gewohnt genutzt werden.

Für den Lesevorgang sind die folgenden Dinge zu beachten:

  • Beim Einlesen von hOCR-Dateien muss das Format explizit angegeben werden als Instanz von HocrFormat.

  • Nach dem Einlesen des Datenstroms der Bilddaten muss zur korrekten Zuordnung der OCR-Daten der Target-Index des Readers auf den Anfang des Dokuments zurückgesetzt werden.

Ein Beispiel gibt Beispiel 7.27, „Einlesen von Dokumenten mit OCR Informationen“.

Einlesen mit SizeDetector

Über die HocrReaderSettings kann bei Bedarf der SizeDetector gesetzt werden. Standardmäßig wird ein Default SizeDetector verwendet, der die Größe über das PageSegment im DocumentLayer.DEFAULT ermittelt.

Eine eigene SizeDetector Implementation kann zum Beispiel bei Bilddaten mit invaliden Größeninformationen, aber dem Integrator bekannter Auflösung sinnvoll sein. Es ist stets zu beachten, dass die Auflösungsinformation durch einen Aufruf des SizeDetectors bei jeglichem Zugriff auf die Textinformationen verfügbar sind.

Da der Standard SizeDetector die Größe über das PageSegment im DocumentLayer.DEFAULT ermittelt, muss dieser Layer befüllt sein, bevor die erste Anfrage an den SizeDetector erfolgt. Aus diesem Grund werden die OCR Daten typischerweise eingelesen, nachdem das gesamte Hauptdokument eingelesen ist. Wird ein SizeDetector verwendet, der keinen Zugriff auf andere PageSegments benötigt, ist die Reihenfolge des Einlesens irrelevant.

Ein Beispiel findet sich unter Beispiel 7.28, „Einlesen mit SizeDetector.

[jadice viewer Version 6.1.37: Dokumentation für Entwickler. Veröffentlicht: 2024-11-11]