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

フレームを表示

DocumentWriterInstanceプロパティ(IOcrEngine)








このIOcrEngineの中に使われているDocumentWriterオブジェクトのインスタンスを取得します。
構文
DocumentWriter DocumentWriterInstance {get;}
'Declaration
 
ReadOnly Property DocumentWriterInstance As DocumentWriter
'Usage
 
Dim instance As IOcrEngine
Dim value As DocumentWriter
 
value = instance.DocumentWriterInstance
DocumentWriter DocumentWriterInstance {get;}
@property (nonatomic, strong, readonly) LTDocumentWriter *documentWriterInstance
public DocumentWriter getDocumentWriterInstance()
get_DocumentWriterInstance(); 
property DocumentWriter^ DocumentWriterInstance {
   DocumentWriter^ get();
}

属性値

DocumentWriterは、このIOcrEngineの中に使われて反対します。
解説

スタートアップメソッドにすでに初期化されたDocumentWriterオブジェクトのインスタンスを渡すことができます。このDocumentWriterオブジェクトが、ディスクまたはメモリにOCRドキュメントを保存するとき、エンジンで内部的にその後使われます。さもなければ、nullVisual BasicではNothing)を渡すとき、IOcrEngineは最初の手順の間、DocumentWriterのそれ自身のバージョンを作成して、使います。

内部のDocumentWriterオブジェクトは、自動的にエンジンで破棄されますいつシステム終了してまたは破棄して呼び出します。ユーザー独自のDocumentWriterインスタンスを渡すと、エンジンによって破棄されることはなく、エンジンインスタンスが破棄された後も通常として引き続き使用できます。独自のDocumentWriterインスタンスを渡すとき、エンジンが開始されている間、このインスタンスは有効なままであるようにしてください。

新しいIOcrDocumentオブジェクトがIOcrDocumentManager.CreateDocumentを用いて作成されるとき、型DocumentWriterの新しいオブジェクトはこのIOcrEngineによって作成されて、IOcrDocument.DocumentWriterInstanceに割り当てられます。OCRドキュメントは、それを使いますオブジェクトをすべて、OCRドキュメントまたはオブジェクト内部で中で実行される作成操作(IOcrDocument.Saveなどの)を文書化します。

IOcrDocument.UseEngineInstanceOptionsの値がtrueであるならば、オプションはエンジンのDocumentWriterから任意のメソッドの前のDocumentWriterがいうドキュメントへコピーされます。

このオブジェクトがどのようにそのライフタイムの間、OCRエンジンにより用いられるかの詳細については、「OCRエンジンとRasterCodecs/DocumentWriter使用法」を参照してください。

サンプル

このサンプルは、最終的なドキュメントを作成する前にセーブドキュメントオプションを修正するためにDocumentWriterInstanceプロパティを使う方法を示します。PDFオプションを設定すると、PDF/A画像がテキストの上に重なります。

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

<TestMethod>
Public Sub DocumentWriterInstanceExample()
   ' 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)
      ' You can change the output document options at any time after the engine has
      ' started. Here we will change the PDF options to be PDF/A format with image
      ' over text option turned on

      ' Get the DocumentWriter instance used in this OCR engine
      Dim docWriter As DocumentWriter = ocrEngine.DocumentWriterInstance

      ' Get the current PDF options, modify and then set it back
      Dim pdfOptions As PdfDocumentOptions = TryCast(docWriter.GetOptions(DocumentFormat.Pdf), PdfDocumentOptions)

      pdfOptions.DocumentType = PdfDocumentType.PdfA
      pdfOptions.ImageOverText = True

      docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions)

      ' At this point on, every call to IOcrDocument.Save with format equals to DocumentFormat.Pdf will
      ' use the options we set

      Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif")
      Dim pdfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf")

      ' Create an OCR document
      Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()
         ' Add a page to the document
         Dim ocrPage As IOcrPage = ocrDocument.Pages.AddPage(tifFileName, Nothing)

         ' Recognize the page
         ' Note, Recognize can be called without calling AutoZone or manually adding zones. The engine will
         ' check and automatically auto-zones the page
         ocrPage.AutoZone(Nothing)
         ocrPage.Recognize(Nothing)

         ' Save the document we have as PDF
         ' This will use the options we set earlier (PDF/A with image over text)
         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;

public void DocumentWriterInstanceExample()
{
   // 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);
      // You can change the output document options at any time after the engine has
      // started. Here we will change the PDF options to be PDF/A format with image
      // over text option turned on

      // Get the DocumentWriter instance used in this OCR engine
      DocumentWriter docWriter = ocrEngine.DocumentWriterInstance;

      // Get the current PDF options, modify and then set it back
      PdfDocumentOptions pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions;

      pdfOptions.DocumentType = PdfDocumentType.PdfA;
      pdfOptions.ImageOverText = true;

      docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);

      // At this point on, every call to IOcrDocument.Save with format equals to DocumentFormat.Pdf will
      // use the options we set

      string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif");
      string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf");

      // Create an OCR document
      using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
      {
         // Add a page to the document
         IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);

         // Recognize the page
         // Note, Recognize can be called without calling AutoZone or manually adding zones. The engine will
         // check and automatically auto-zones the page
         ocrPage.AutoZone(null);
         ocrPage.Recognize(null);

         // Save the document we have as PDF
         // This will use the options we set earlier (PDF/A with image over text)
         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";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.DocumentWriters;

      
public async Task DocumentWriterInstanceExample()
{
   // Create an instance of the engine
   IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);
   // Start the engine using default parameters
   ocrEngine.Startup(null, null, String.Empty, Tools.OcrEnginePath);

   // You can change the output document options at any time after the engine has
   // started. Here we will change the PDF options to be PDF/A format with image
   // over text option turned on

   // Get the DocumentWriter instance used in this OCR engine
   DocumentWriter docWriter = ocrEngine.DocumentWriterInstance;

   // Get the current PDF options, modify and then set it back
   PdfDocumentOptions pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions;

   pdfOptions.DocumentType = PdfDocumentType.PdfA;
   pdfOptions.ImageOverText = true;

   docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);

   // At this point on, every call to IOcrDocument.SaveAsunc with format equals to DocumentFormat.Pdf will
   // use the options we set

   string tifFileName = @"Assets\Ocr1.tif";
   string pdfFileName = "Ocr1.pdf";

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

   // Add a page to the document
   IOcrPage ocrPage = null;
   using (RasterCodecs codecs = new RasterCodecs())
   {
      StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(tifFileName);
      using (RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)))
      {
         ocrPage = ocrDocument.Pages.AddPage(image, null);
      }
   }

   // Recognize the page
   // Note, Recognize can be called without calling AutoZone or manually adding zones. The engine will
   // check and automatically auto-zones the page
   ocrPage.AutoZone(null);
   ocrPage.Recognize(null);

   // Save the document we have as PDF
   // This will use the options we set earlier (PDF/A with image over text)
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(pdfFileName, CreationCollisionOption.ReplaceExisting);
   await ocrDocument.SaveAsync(LeadStreamFactory.Create(saveFile), DocumentFormat.Pdf, null);

   // Shutdown the engine
   ocrEngine.Shutdown();
}
必要条件

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

参照

参照

IOcrEngineインターフェース
IOcrEngineメンバ
スタートアップ
IsStartedプロパティ
Shutdownメソッド
OcrEngineManagerクラス
OcrEngineType列挙体
LEADTOOLS .NET OCRによるプログラミング

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