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_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 ResolutionDetector
Über die HocrReaderSettings
kann bei Bedarf der ResolutionDetector
gesetzt werden. Standardmäßig wird ein Default ResolutionDetector
verwendet,
der die Auflösung über das PageSegment
im
DocumentLayer
.DEFAULT
ermittelt.
Eine eigene ResolutionDetector
Implementation kann zum Beispiel bei
Bilddaten mit invalider Auflösungsinformation, aber dem Integrator bekannter
Auflösung, sinnvoll sein. Es ist stets zu beachten, dass die
Auflösungsinformation durch einen Aufruf des ResolutionDetector
s bei
jeglichem Zugriff auf die Textinformationen verfügbar sind.
Da der Standard ResolutionDetector
die Auflösung über das PageSegment
im
DocumentLayer
.DEFAULT
ermittelt, muss dieser Layer
befüllt sein, bevor die erste Anfrage an den ResolutionDetector
erfolgt. Aus
diesem Grund werden die OCR Daten typischerweise eingelesen, nachdem das gesamte
Hauptdokument eingelesen ist. Wird ein ResolutionDetector
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 ResolutionDetector
“.