image2data

Der Tech-Blog

...weitermachen, wo OCR aufhört

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.

Atom

powered by Nibbleblog