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

フレームを表示

IOcrEngineインターフェース








メンバ 
LEADTOOLSでサポートをOCR機能性に提供します。
オブジェクトモデル
構文
public interface IOcrEngine : System.IDisposable  
'Declaration
 
Public Interface IOcrEngine 
   Inherits System.IDisposable 
'Usage
 
Dim instance As IOcrEngine
@interface LTOcrEngine : NSObject
public class OcrEngine
function Leadtools.Forms.Ocr.IOcrEngine() System.IDisposable 
public interface class IOcrEngine : public System.IDisposable  
解説

IOcrEngineインターフェースは、LEADTOOLSにより提供されるOCR機能性へのアプリケーションエントリポイントです。

LEADTOOLS OCRクラスライブラリは、いろいろなOCR関数を実行するために、いろいろなインターフェースを使用します。これらのインターフェースグループは、論理的に操作を関連させて、ツールキットの残りから、カプセル化します。インターフェースを用いて、LEADTOOLSは、OCRに拠点を置くアプリケーションをプログラムするとき、エンジンから独立したアプローチを使うことができることを確実にします。いつでも、エンジン型を変えることができて、プログラムが正しく機能し続けることを確実にすることができます。(エンジンに特有の能力に対処するとき、いろいろな「GetSupported」と「IsSupported」メソッドを使ったと定める)。

OcrEngineManager.CreateEngineメソッドを適切なエンジンタイプで呼び出してIOcrEngineのインスタンスを取得します。

一度インスタンスが得られたら、いろいろなOCRタスクを実行するために、IOcrEngineのメンバを使います。OCR関数は、「マネージャー」に分類されます。これらのマネージャーを通して、OCRドキュメント(そして、これらのドキュメントへのaddページ)を作成することができて、ゾーニング、認識と結果ドキュメントを保存することを実行します。これらのマネージャーは、対応するエンジンアセンブリの中に非表示にする実装による標準的な.NETインターフェースです。以下のテーブルは、いろいろな「マネージャー」と主要な機能性をリストします:

メンバ 説明
DocumentManagerメンバ

OCR'edドキュメントをカプセル化するIOcrDocumentオブジェクトを作成することができます。各々のIOcrDocumentは、IOcrPageオブジェクトの標準的な.NETコレクションの実装であるIOcrDocument.Pagesプロパティを格納します。OCRドキュメントにおけるimage(ラスター)ページを追加するか、削除するか、更新するために、このメンバを使います。ページは、リモートURLのディスク、メモリまたは偶数の上の画像ファイルでありえます。LEADTOOLS(Tiff、JPEG、BMPその他)によってサポートされる任意のファイルフォーマットは、OCRドキュメントにロードされることができます。いつでも、ページ(またはページ)をゾーンに分けて、ドキュメントとして保存されるものに準備においてオブジェクトを認めるために、いろいろなIOcrPageメソッドを使います。詳細は、IOcrDocumentIOcrPageCollectionIOcrPageを参照します。一度ページを追加して、準備することでされたら、その最終形式にドキュメントを保存するIOcrDocumentオブジェクトのセーブメソッドを使うことができます。LEADTOOLSは、PDF、Microsoft Word、HTMLといくつかの他などのいろいろな基本文書形式に保存することをサポートします。詳細は、IOcrDocumentManagerIOcrDocumentDocumentFormatを参照します。

ZoneManagerメンバ サポートをこのエンジン型によってサポートされるいろいろなゾーンタイプ、認識モジュールと塗りつぶしメソッドを決定するために提供します。詳細については、「IOcrZoneManagerとOcrZoneType」を参照してください。
AutoRecognizeManagerメンバ OCRにサポートを1回切りの「ファイアー&フォーゲット」アプローチに提供します。このインターフェースのメソッドは、オプションの進捗とステータスモニターでディスク上で画像ファイルから結果ドキュメントを作成させます。詳細については、「IOcrAutoRecognizeManager」を参照してください。
LanguageManagerメンバ OCRエンジンにより用いられる言語環境にアクセスできるようにします。訂正をつづるだけでなく、OCRエンジンにより用いられる文字セットを設定するために、このメンバのメソッドとプロパティを使うことができます。詳細については、「IOcrLanguageManager」を参照してください。
SpellCheckManagerメンバ 言語とユーザー辞書を維持管理するために同様にシステムを確認しているスペルを有効または無効にすることができます。認識操作を実行するとき、手動のワードまたは行検証のためにもグローバルなコールバックを準備させます。
SettingManagerメンバ LEADTOOLSによってサポートされる各々のOCRエンジンには、このメンバを通してアクセスできる第二次オプションと機能性があります。エンジンを組み立てた後に、速く保存することができて、SettingManagerを用いていずれ設定をロードすることができます。詳細については、「IOcrSettingManager」を参照してください。

LEADTOOLS OCRエンジンが、通常、以下のようにして使われます:

画像ファイル(またはLEADTOOLS RasterImageオブジェクト)のOCR処理を行って、オプションのフォーマッティングでテキストを得て、情報を配置します。このモードでは、結果が保存されそうでないため、IOcrDocumentオブジェクトが必要でありません。速く直接RasterImageからIOcrPageを作成して、必要なメソッド(IOcrPage.Recognizeなどの)を呼び出して、それから、IOcrPage.GetTextまたはIOcrPage.GetRecognizedCharactersを用いて直接テキストを得るのに、IOcrEngine.CreatePageメソッドは用いられることができます。サンプルのために、参照しますIOcrEngine.CreatePage

低レベルの一つ以上のページとPDFまたはDOCXなどの最終的なドキュメントを作成することでOCR処理を行います。このモードでは、ユーザーは通常IOcrDocumentオブジェクト(メモリベースまたはファイルベース)を作成し、その後、IOcrPageオブジェクトを追加します。ページは以前に認められることができるか、あとで認められます。すべてのページが追加されて、認められるとき、IOcrDocument.SaveまたはIOcrDocument.SaveAsyncは最終的なドキュメントに認識データを変換するために呼び出されます。サンプルのために、参照しますIOcrDocument

入力からPDFまたはDOCXなどの最終的なドキュメントへの画像ファイルのOCR処理を行っているハイレベル。このモードでは、1ショットにおいてドキュメントを変換するために、IOcrAutoRecognizeManagerを使うことができます。さまざまなイベントとロギングの仕組みは、認識操作を修正し追跡するために使用できます。サンプルのために、参照しますIOcrAutoRecognizeManager

サンプル

以下のサンプルは、PDF文書に画像ファイルを変換します。

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

<TestMethod>
Public Sub OcrEngineExample()
   ' 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)
      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
         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 OcrEngineExample()
{
   // 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);
      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
         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 OcrEngineExample()
{
   // 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);

   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
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(pdfFileName, CreationCollisionOption.ReplaceExisting);
   await ocrDocument.SaveAsync(LeadStreamFactory.Create(saveFile), DocumentFormat.Pdf, null);

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

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

参照

参照

IOcrEngineメンバ
Leadtools.Forms.Ocr名前空間
OcrEngineManagerクラス
OcrEngineType列挙体
LEADTOOLS .NET OCRによるプログラミング
OCRエンジンインスタンスの作成
OCRエンジンの開始と終了
アプリケーションに含まれるファイル

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