LEADTOOLS OCR(Leadtools.Forms.Ocrアセンブリ)

フレームを表示

InsertPage(Int32、RasterImage、OcrProgressCallback)メソッド








imageを挿入する位置を示す0から始まるインデックス。
RasterImageは、挿入するページを格納して反対します。
操作の進捗を示すオプションのコールバック
指定された場所にRasterImageオブジェクトを挿入します。
構文
'Declaration
 
Overloads Function InsertPage( _
   ByVal pageIndex As Integer, _
   ByVal image As RasterImage, _
   ByVal callback As OcrProgressCallback _
) As IOcrPage
'Usage
 
Dim instance As IOcrPageCollection
Dim pageIndex As Integer
Dim image As RasterImage
Dim callback As OcrProgressCallback
Dim value As IOcrPage
 
value = instance.InsertPage(pageIndex, image, callback)
- (nullable LTOcrPage *)insertPageAtIndex:(NSUInteger)pageIndex
                                    image:(LTRasterImage *)image
                                    error:(NSError **)error
            
public OcrPage insertPage(int pageIndex,
                          RasterImage image,
                          OcrProgressListener callback)
            
function Leadtools.Forms.Ocr.IOcrPageCollection.InsertPage(Int32,RasterImage,OcrProgressCallback)( 
   pageIndex ,
   image ,
   callback 
)

パラメーター

pageIndex
imageを挿入する位置を示す0から始まるインデックス。
image
RasterImageは、挿入するページを格納して反対します。
コールバック
操作の進捗を示すオプションのコールバック

戻り値

新しく挿入されたページを定義するIOcrPageオブジェクト。
解説

このメソッドは、新しく作成されたIOcrPageRasterImageオブジェクト画像データをコピーします。したがって、このメソッドが返ったあと、imageIOcrPageの関係がOCRドキュメント内部にありません。たとえば、このメソッドを呼び出した後にimageオブジェクトを必要としないならば、このメソッドが返ったあと、それを破棄しなければなりません。

このメソッドは、変化がimageになされないことを保証します。

imageが1ページ以上を格納するならば、RasterImage.Pageで定義される現在のページはOCRドキュメントに挿入されるものです。

OCRドキュメントにすべてまたはマルチページRasterImageオブジェクトのページの特定の範囲を挿入するために、1からRasterImage.PageCountへ行くためにRasterImage.Pageの値に変更することによってページを反復処理するか、InsertPages(int pageIndex、RasterImage image、int imageFirstPageNumber、int imageLastPageNumber、OcrProgressCallbackコールバック)メソッドを使います。

操作進捗を示すか、それを中止するために、OcrProgressCallbackを使うことができます。詳細情報とサンプルについては、「OcrProgressCallback」を参照してください。

LEADTOOLS OCRエンジンは、150 ドット/インチ(DPI)以上のページをサポートします。DPIが150未満のページを追加しようとするとき、このページのデータを認識することができるかもしれません。

注意:設定している「Recognition.ShareOriginalImage」(Advantage OCRエンジンでサポートされるだけの)の値がサポートされて、trueに設定されるならば、このメソッドを呼び出すことはページの中に参照imageを保存します、そして、IOcrPageが生きる限り、image参照は生きていておかれなければなりません。このモードでは、IOcrPage.GetRasterImage(OcrPageType.Original)を使用して、ページからオリジナル画像の参照を取得できます。オリジナル画像を共有すると、OCR操作中に使用されるメモリ量が少なくなります。

このメンバはメモリベースのドキュメントで機能して、そうでない場合例外をスローするだけです。詳細については、「LEADTOOLS .NET OCRによるIOcrDocumentManager.CreateDocumentとプログラミング」を参照してください。

サンプル

このサンプルはロードして、そして逆にRasterImageオブジェクトのグループを挿入します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms.Ocr
Imports Leadtools.Forms.DocumentWriters
Imports Leadtools.Forms
Imports Leadtools.ImageProcessing.Core

<TestMethod>
Public Sub InsertPageFromRasterImageExample()
   Dim pdfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf")
   ' Load the Ocr1.tif, Ocr2.tif, Ocr3.tif and Ocr4.tif to a single RasterImage object
   Dim codecs As New RasterCodecs()

   ' Create an instance of the engine
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
      ' Since we have a RasterCodecs object, re-use it in the OCR engine. Although
      ' this demo will not use it, it is always a good practice
      ocrEngine.Startup(codecs, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)

      ' Create an OCR document
      Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()
         ' Loop through the images, insert them in the reverse order
         For i As Integer = 0 To 3
            Dim pageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, String.Format("Ocr{0}.tif", i + 1))
            Using image As RasterImage = codecs.Load(pageFileName)
               ocrDocument.Pages.InsertPage(0, image, Nothing)
            End Using
         Next

         ' Recognize
         ocrDocument.Pages.Recognize(Nothing)

         ' Save
         ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, Nothing)
      End Using

      ' Shutdown the engine
      ' Note: calling Dispose will also automatically shutdown the engine if it has been started
      ocrEngine.Shutdown()
   End Using

   codecs.Dispose()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.DocumentWriters;
using Leadtools.Forms;
using Leadtools.ImageProcessing.Core;

public void InsertPageFromRasterImageExample()
{
   string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");
   // Load the Ocr1.tif, Ocr2.tif, Ocr3.tif and Ocr4.tif to a single RasterImage object
   RasterCodecs codecs = new RasterCodecs();

   // Create an instance of the engine
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
   {
      // Since we have a RasterCodecs object, re-use it in the OCR engine. Although
      // this demo will not use it, it is always a good practice
      ocrEngine.Startup(codecs, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);

      // Create an OCR document
      using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
      {
         // Loop through the images, insert them in the reverse order
         for (int i = 0; i < 4; i++)
         {
            string pageFileName = Path.Combine(LEAD_VARS.ImagesDir, string.Format("Ocr{0}.tif", i + 1));
            using (RasterImage image = codecs.Load(pageFileName))
               ocrDocument.Pages.InsertPage(0, image, null);
         }

         // Recognize
         ocrDocument.Pages.Recognize(null);

         // Save
         ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null);
      }

      // Shutdown the engine
      // Note: calling Dispose will also automatically shutdown the engine if it has been started
      ocrEngine.Shutdown();
   }

   codecs.Dispose();
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.DocumentWriters;
using Leadtools.Forms;
using Leadtools.ImageProcessing.Core;

      
public async Task InsertPageFromRasterImageExample()
{
   string pdfFileName = "Ocr1.pdf";
   RasterCodecs codecs = new RasterCodecs();

   // Create an instance of the engine
   IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);

   // Since we have a RasterCodecs object, re-use it in the OCR engine. Although
   // this demo will not use it, it is always a good practice
   ocrEngine.Startup(codecs, null, String.Empty, Tools.OcrEnginePath);

   // Create an OCR document
   IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument();

   // Loop through the images, insert them in the reverse order
   for(int i = 0; i < 4; i++)
   {
      string pageFileName = string.Format(@"Assets\Ocr{0}.tif", i + 1);
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(pageFileName);
      using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)))
         ocrDocument.Pages.InsertPage(0, image, null);
   }

   // Recognize
   ocrDocument.Pages.Recognize(null);

   // Save
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(pdfFileName, CreationCollisionOption.ReplaceExisting);
   await ocrDocument.SaveAsync(LeadStreamFactory.Create(saveFile), DocumentFormat.Pdf, null);

   // Shutdown the engine
   ocrEngine.Shutdown();

   codecs.Dispose();
}
必要条件

ターゲットプラットホーム

参照

参照

IOcrPageCollectionインターフェース
IOcrPageCollectionメンバ
オーバーロードリスト
OcrEngineManagerクラス
OcrEngineType列挙体
IOcrPageインターフェース
LEADTOOLS .NET OCRによるプログラミング

Leadtools.Forms.Ocrは、認識またはDocument Imaging Suiteのライセンスと、解除キーが必要です。詳細は、以下を参照してください。LEADTOOLSツールキット機能