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.
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 PageSegment
s 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 SizeDetector
s 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 PageSegment
s benötigt, ist die Reihenfolge des Einlesens
irrelevant.
Ein Beispiel findet sich unter Beispiel 7.28, „Einlesen mit SizeDetector
“.