Beispiel 7.27. Einlesen von Dokumenten mit OCR Informationen
Dieses Codebeispiel zeigt das Einlesen von Dokument plus hOCR-Daten.
Reader reader = new Reader();
InputStream defaultLayerInputStream = …;
reader.read(defaultLayerInputStream);
reader.setTargetIndex(0);
reader.setFormat(new HocrFormat());
InputStream hocrInputStream = …;
reader.read(hocrInputStream);
reader.complete();
Document document = reader.getDocument();
|
Einlesen des Dokuments ohne Text-Informationen. |
|
Setzen des TargetIndex auf den Anfang des Dokuments ohne Text-Informationen. |
|
Explizites Setzen des Formats auf hOCR. |
|
Einlesen der OCR-Daten aus hOCR-File. |
Beispiel 7.28. Einlesen mit SizeDetector
Dieses Beispiel zeigt die Arbeit mit eigenen SizeDetector
Implementationen.
Zunächst wird ein SizeDetector
definiert, welcher die Seitengröße anhand
einer festgelegten Auflösung berechnet.
/**
* Returns a size that fits to a fixed resolution.
*/
public class FixedResolutionSizeDetector implements SizeDetector {
private final Resolution preDeterminedResolution;
public FixedResolutionSizeDetector(Resolution preDeterminedResolution) {
this.preDeterminedResolution = preDeterminedResolution;
}
@Override
public Dimension2D detectSize(Dimension2D hocrSize) {
double w = Document.BASE_RESOLUTION * hocrSize.getWidth() / preDeterminedResolution.getX();
double h = Document.BASE_RESOLUTION * hocrSize.getHeight() / preDeterminedResolution.getY();
return new FloatDimension(w,h);
}
}
Der somit definierte SizeDetector
wird daraufhin im Lesevorgang verwendet.
Da der FixedResolutionSizeDetector
unabhängig von anderen
Seitensegmenten ist, müssten die Bilddaten für den Default Layer nicht zwingend
vor den hOCR Daten eingelesen werden.
Reader reader = new Reader(); InputStream defaultLayerInputStream = …; reader.read(defaultLayerInputStream); reader.getSettings(HocrReaderSettings.class).setSizeDetector( new FixedResolutionSizeDetector(new Resolution(200,200))); reader.setTargetIndex(0); reader.setFormat(new HocrFormat()); InputStream hocrInputStream = …; reader.read(hocrInputStream); reader.complete(); Document document = reader.getDocument();
|
Größe der Seite wird immer passend auf 200 x 200 DPI angepasst. |