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

フレームを表示

AddPage(Stream、OcrProgressCallback)メソッド








imageを格納している.NETストリーム。
操作の進捗を示すオプションのコールバック
ディスクファイルからページを追加します。
構文
'Declaration
 
Overloads Function AddPage( _
   ByVal stream As Stream, _
   ByVal callback As OcrProgressCallback _
) As IOcrPage
'Usage
 
Dim instance As IOcrPageCollection
Dim stream As Stream
Dim callback As OcrProgressCallback
Dim value As IOcrPage
 
value = instance.AddPage(stream, callback)
- (nullable LTOcrPage *)addPageWithStream:(LTLeadStream *)stream 
                                    error:(NSError **)error
            
public OcrPage addPage(ILeadStream stream,
                       OcrProgressListener callback)
            
function Leadtools.Forms.Ocr.IOcrPageCollection.AddPage(Stream,OcrProgressCallback)( 
   stream ,
   callback 
)

パラメーター

ストリーム
imageを格納している.NETストリーム。
コールバック
操作の進捗を示すオプションのコールバック

戻り値

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

このメソッドは.NETストリームの中に保存されるラスター画像から最初のページをロードして、OCRドキュメントにそれを追加します。

すべてまたはOCRドキュメントに.NETストリームで保存されるマルチページ画像ファイルのページの特定の範囲を追加するために、AddPages(Streamストリーム、int imageFirstPageNumber、int imageLastPageNumber、OcrProgressCallbackコールバック)メソッドを使います。

このIOcrPageCollectionにおけるページをすでに持っているならば、このメソッドはコレクションの終わりまでページを追加します。

IOcrEngine.StartupRasterCodecsオブジェクトを渡すならば、このメソッドはラスター画像ファイルをロードする同じRasterCodecsオブジェクトを使います。RasterCodecsオブジェクトを渡さなかった場合、ページの追加またはエクスポートのいずれかのメソッドが初めて呼び出されたときにインスタンスが作成されます。

ストリームの画像ファイルは、LEADTOOLSによってサポートされるファイルフォーマットで任意でありえます。詳細については、「利用可能な画像ファイル形式一連」を参照してください。

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

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

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

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

サンプル

このサンプルは、OCRエンジンにメモリストリームで保存されるラスター画像を追加します。

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 AddPageFromStreamExample()
   Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif")
   Dim pdfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf")
   ' Load the TIF image into a memory stream
   Dim ms As New MemoryStream()

   Using fs As FileStream = File.OpenRead(tifFileName)
      Const bufferSize As Integer = 1024 * 4
      Dim buffer As Byte() = New Byte(bufferSize - 1) {}
      Dim bytes As Integer = 0
      Do
         bytes = fs.Read(buffer, 0, bufferSize)
         If bytes > 0 Then
            ms.Write(buffer, 0, bytes)
         End If
      Loop While bytes > 0
   End Using

   ' Reset the stream position
   ms.Position = 0

   ' Create an instance of the engine
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
      ' Start the engine using default parameters
      ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)

      ' Create an OCR document
      Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()
         ' Add the image
         ocrDocument.Pages.AddPage(ms, Nothing)

         ' We do not need the stream anymore
         ms.Dispose()

         ' 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
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 AddPageFromStreamExample()
{
   string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");
   string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");
   // Load the TIF image into a memory stream
   MemoryStream ms = new MemoryStream();

   using (FileStream fs = File.OpenRead(tifFileName))
   {
      const int bufferSize = 1024 * 4;
      byte[] buffer = new byte[bufferSize];
      int bytes = 0;
      do
      {
         bytes = fs.Read(buffer, 0, bufferSize);
         if (bytes > 0)
            ms.Write(buffer, 0, bytes);
      }
      while (bytes > 0);
   }

   // Reset the stream position
   ms.Position = 0;

   // Create an instance of the engine
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
   {
      // Start the engine using default parameters
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);

      // Create an OCR document
      using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
      {
         // Add the image
         ocrDocument.Pages.AddPage(ms, null);

         // We do not need the stream anymore
         ms.Dispose();

         // 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();
   }
}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime";
}
必要条件

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

参照

参照

IOcrPageCollectionインターフェース
IOcrPageCollectionメンバ
オーバーロードリスト
OcrEngineManagerクラス
OcrEngineType列挙体
IOcrPageインターフェース
LEADTOOLS .NET OCRによるプログラミング
利用可能な画像ファイル形式一連

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