Basics - Iterieren über mehrere Seiten
Ein Dokument muß nicht zwingend aus nur einer Seite bestehen. In pdf- oder tif-Dateien können sich auch mehrere Seiten befinden. Wie man eine Texterkennung über alle Seiten eines Dokumentes durchführt, zeigt der folgende kurze Skriptcode. Als erstes wieder ohne Nutzung von Komfortfunktionen:
var iCount: Integer; iPageCount: Integer; sText: String; oPage: TBitmap; begin iPageCount := i2dGetImagePageCount('c:\anyfile.pdf'); oPage := TBitmap.Create; for iCount := 1 to iPageCount do begin i2dLoadBitmap('c:\anyfile.pdf', iCount, oPage); sText := sText + i2dOCRBitmap(oPage, 0, False); end; // hier "sText" weiterverarbeiten oPage.Free; end.
Und hier unter Einbindung des Komfortskripts "i2dcOCRAndExtraction.i2dspt":
{$I i2dcOCRAndExtraction.i2dspt} var iCount: Integer; iPageCount: Integer; sText: String; begin iPageCount := i2dcOAEGetPageCountFromFile('c:\anyfile.pdf'); for iCount := 1 to iPageCount do sText := sText + i2dcOAEExtractTextOrPerformOCROnPage('c:\anyfile.tif', iCount, 3, 0, False, True); // hier "sText" weiterverarbeiten end.