LEADTOOLS OCR

フレームを表示

LEADTOOLS OCR機能は、メソッドを光学的文字認識(OCR)技術をアプリケーションに取り込むために提供します。OCRは、テキストにビットマップドキュメントイメージを処理するのに用いられます。

LEADTOOLS .NET OCRツールキットがシステムにインストールされたら、ユーザーはLEADTOOLS OCRでプログラミングを開始する準備ができています。ユーザーがOCRプロパティ、メソッドとイベントを実際に使うことができる前に、OCR機能がロック解除されなければならない点に注意します。LEAD機能のロック解除については、「Unlocking Special LEAD Features」を参照してください

.NETアプリケーションでLeadtools.Forms.Ocr.dllLeadtools.Forms.DocumentWriter.dllアセンブリに参照を追加することによってアプリケーションでLEADTOOLS for .NET OCRを使用し始めることができます。これらのアセンブリは、LEADTOOLS OCRでプログラムに使われるいろいろなインターフェース、クラス、構造体とデリゲートを格納します。

ツールキットが複数のエンジンをサポートするため、エンジンと入出力を行う実符号はIOcrEngineインターフェースのインスタンスが作成されたら、ダイナミックにロードされる個別アセンブリにおいて保存されます。それゆえに、使う予定になっているエンジンアセンブリがLeadtools.Forms.Ocr.dllアセンブリの隣に住むことを確認しなければなりません。たとえこれがLEADTOOLSによって必要とされないとしても、必要であれば自動的に依存関係を検出する計画への参照としてエンジンアセンブリを追加することができます。

LEADTOOLSは、以下を実行するためのメソッドを提供しています。

LEADTOOLSは、ページのリストを格納しているOCRエンジンとOCRドキュメントと対話するために、OCRハンドルを使います。OCRハンドルは、システムの上でインストールされるLEADTOOLS OCRとOCRエンジン間の通信セッションです。このOCRハンドルは認識のためにすべての必要な情報を格納する内部構造です。そして、情報とテキスト検証を取得して設定します。

以下は、一つ以上のページを認めることに関係している一般的な手順の輪郭線です。

  1. IOcrEngineインターフェースのインスタンスを使って、作成することを望むエンジン型を選択します。詳細については、「OCRエンジンインスタンスの作成」を参照してください。

  2. スタートアップは、IOcrEngine.StartupメソッドによるOCRエンジンです。詳細については、「エンジンを開始して、終了すること」を参照してください。

  3. 任意。セーブが必要とされるならば、一つ以上のページでOCRドキュメントを確立します。詳細については、「OCRページの操作」を参照してください。

  4. 手動で、または、自動的に、ページの上でゾーンを確立します。(これはオプションです。Aページはゾーンの有無にかかわらず認められることができます。)詳細については、「OCRゾーンの操作」を参照してください。

  5. 任意。OCRエンジンにより用いられるアクティブな言語を設定します。(デフォルトは英語です)。詳細については、「OCR言語の操作」を参照してください。

  6. 任意。プロパティを確認しているスペルを設定します。詳細については、「OCRスペル言語辞書」を参照してください。

  7. 任意。任意の特別な認識モジュールオプションを設定します。ページがゾーンを格納する場合だけ、これは必要とされます。そして、自動的に、または、手動で作成されます。詳細については、「OCRページを認めて、LEADTOOLS .NET OCRでOMRを使うこと」を参照してください。

  8. Recognize。詳細については、「認めているOCRページ」を参照してください。

  9. 任意。必要であれば、認識結果を保存します。結果は、ファイルにも、または、メモリに保存されることができます。詳細については、「認めているOCRページ」を参照してください。

  10. 終わるとき、OCRエンジンを終了します。詳細については、「エンジンを開始して、終了すること」を参照してください。

OCRエンジンの上で、そして、ページを認める前に開始した後に実行される限り、手順4、5、6と7が任意の順序でほとんどされることができるところ。

エンジンアセンブリの詳細については、「OcrEngineTypeとアプリケーションとともに配布するファイル」を参照してください。

上の一般的な手順から、LEADTOOLS OCRエンジンが、複数の方向で使われることができます:

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

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

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

以下のサンプルは、暗号で上記の手順を実行する方法を示します:

C#


             // Assuming you added "using Leadtools.Codecs;", "using Leadtools.Forms.Ocr;" and "using Leadtools.Forms.DocumentWriters;" at the beginning of this class
             // *** Step 1: Select the engine type and create an instance of the IOcrEngine interface.
            
             // We will use the LEADTOOLS OCR Advantage engine and use it in the same process
             IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);
            
             // *** Step 2: Startup the engine.
            
             // Use the default parameters
             ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
            
             // *** Step 3: Create an OCR document with one or more pages.
            
             IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument();
             
             // Add all the pages of a multi-page TIF image to the document
             ocrDocument.Pages.AddPages(@"C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif", 1, -1, null);
            
             // *** Step 4: Establish zones on the page(s), either manually or automatically
            
             // Automatic zoning
             ocrDocument.Pages.AutoZone(null);
            
             // *** Step 5: (Optional) Set the active languages to be used by the OCR engine
            
             // Enable English and German languages
             ocrEngine.LanguageManager.EnableLanguages(new string[] { "en", "de" });
            
             // *** Step 6: (Optional) Set the spell checking engine
            
             // Enable the spell checking system
             ocrEngine.SpellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.Native;
            
             // *** Step 7: (Optional) Set any special recognition module options
            
             // Change the zone method for the first zone in the first page to be Graphics so it will not be recognized
             OcrZone ocrZone = ocrDocument.Pages[0].Zones[0];
             ocrZone.ZoneType = OcrZoneFillMethod.Graphics;
             ocrDocument.Pages[0].Zones[0] = ocrZone;
            
             // *** Step 8: Recognize
            
             ocrDocument.Pages.Recognize(null);
            
             // *** Step 9: Save recognition results
            
             // Save the results to a PDF file
             ocrDocument.Save(@"C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, null);
             ocrDocument.Dispose();
            
             // *** Step 10: Shut down the OCR engine when finished
             ocrEngine.Shutdown();
             ocrEngine.Dispose();
             

Visual Basic


             ' Assuming you added "Imports Leadtools.Forms.Ocr" and "Imports Leadtools.Forms.DocumentWriter" at the beginning of this class
             ' *** Step 1: Select the engine type and create an instance of the IOcrEngine interface.
             ' We will use the LEADTOOLS OCR Advantage engine and use it in the same process
             Dim ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
            
             ' *** Step 2: Startup the engine.
            
             ' Use the default parameters
             ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
            
             ' *** Step 3: Create an OCR document with one or more pages.
            
             Dim ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()
            
             ' Add all the pages of a multi-page TIF image to the document
             ocrDocument.Pages.AddPages("C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif", 1, -1, Nothing)
            
             ' *** Step 4: Establish zones on the page(s), either manually or automatically
            
             ' Automatic zoning
             ocrDocument.Pages.AutoZone(Nothing)
            
             ' *** Step 5: (Optional) Set the active languages to be used by the OCR engine
            
             ' Enable English and German languages
             ocrEngine.LanguageManager.EnableLanguages(New String() {"en", "de"})
            
             ' *** Step 6: (Optional) Set the spell checking engine
             ' Enable the spell checking engine
             ocrEngine.SpellCheckManager.SpellCheckEngine = OcrSpellCheckEngine.Native
            
             ' *** Step 7: (Optional) Set any special recognition module options
            
             ' Change the zone method for the first zone in the first page to be Graphics so it will not be recognized
             Dim ocrZone As OcrZone = ocrDocument.Pages(0).Zones(0)
             ocrZone.ZoneType = OcrZoneType.Graphics
             ocrDocument.Pages(0).Zones(0) = ocrZone
            
             ' *** Step 8: Recognize
            
             ocrDocument.Pages.Recognize(Nothing)
            
            ' *** Step 9: Save recognition results
            
            ' Save the results to a PDF file
             ocrDocument.Save("C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, Nothing)
             ocrDocument.Dispose()
            
             ' *** Step 10: Shut down the OCR engine when finished
             ocrEngine.Shutdown()
             ocrEngine.Dispose()
             

上の一般的な手順から、LEADTOOLS OCRエンジンが、複数の方向で使われることができます:

IOcrPageだけ

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

注意:このモードは、LEADTOOLS OCR Advantageエンジンだけでサポートされます。他のどのOCRエンジンを用いたIOcrEngine.CreatePageも呼び出すことは、スローされている例外に終わります。

ドキュメントのないOCRページを用いた以下のサンプル。

C#


             // Create the engine instance
             using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
             {
                // Startup the engine
                ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
             
                // Load the first page as RasterImage
                RasterImage rasterImage = ocrEngine.RasterCodecsInstance.Load(@"C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif", 1);
             
                // Create an OCR page from this image, transform ownership of the RasterImage object
                using (IOcrPage ocrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose))
                {
                   // Recognize the page
                   ocrPage.Recognize(null);
             
                   // Show the text of all zones
                   for (int zoneIndex = 0; zoneIndex < ocrPage.Zones.Count; zoneIndex++)
                   {
                      string text = ocrPage.GetText(zoneIndex);
                      Console.WriteLine(text);
                   }
                }
             
                // The engine will automatically shuts down when Dispose is called
             }
             

Visual Basic


             ' Create the engine instance
             Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
                ' Startup the engine
                ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
             
                ' Load the first page as RasterImage
                Dim rasterImage As RasterImage = ocrEngine.RasterCodecsInstance.Load("C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif", 1)
             
                ' Create an OCR page from this image, transform ownership of the RasterImage object
                Using ocrPage As IOcrPage = ocrEngine.CreatePage(RasterImage, OcrImageSharingMode.AutoDispose)
                   ' Recognize the page
                   ocrPage.Recognize(Nothing)
             
                   ' Show the text of all zones
                   For zoneIndex As Integer = 0 To ocrPage.Zones.Count - 1
                      Dim text As String = ocrPage.GetText(zoneIndex)
                      Console.WriteLine(text)
                   Next
                End Using
             
                ' The engine will automatically shuts down when Dispose is called
             End Using
             

IOcrDocumentを用いて

IOcrDocumentのインスタンスは、PDFまたはDOCXなどの最終的なドキュメントにOCR結果を保存するために必要です。一つ以上のOCRページはドキュメントに追加されることができます、そして、いろいろな保存メソッドは最終的なドキュメントを作成するために呼び出されることができます。

IOcrDocumentが、2つの方向で使われることができます:

メモリベースのドキュメント

このモードでは、OCRページは、保存する前にメモリ内のあるために必要です。これはドキュメントが大量のページを持っている時を推薦されていなくて、ファイルベースのドキュメントを使っているか、LEADTOOLS一時ファイル形式を使っています(DocumentFormat.Ltdは必要とされます。

メモリベースのIOcrDocumentでは、IOcrPageCollectionにページが保持されます。ユーザーはいつでもページの一部または全部を認めることができます、そして、ページは自由に追加または削除されることができます。

以下のサンプルは、複数ページのPDFファイルを作成するために、メモリベースのドキュメントを使います。すべてのページがセーブの間、メモリ内の保持されるNote:

C#


             // Create the engine instance
             using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
             {
                // Startup the engine
                ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
             
                // Create the OCR document in memory
                using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.InMemory))
                {
                   string imageFile = @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif";
            
                   // Add all the pages to the document
                   ocrDocument.Pages.AddPages(imageFile, 1, -1, null);
             
                   // Recognize all the pages
                   ocrDocument.Pages.Recognize(null);
             
                   // Save recognition results as PDF
                   ocrDocument.Save(@"C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, null);
                }
             }
             

Visual Basic


             ' Create the engine instance
             Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
                ' Startup the engine
                ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
             
                ' Create the OCR document in memory
                Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument(Nothing, OcrCreateDocumentOptions.InMemory)
                   Dim imageFile As String = "C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif"
             
                   ' Add all the pages to the document
                   ocrDocument.Pages.AddPages(imageFile, 1, -1, Nothing)
             
                   ' Recognize all the pages
                   ocrDocument.Pages.Recognize(Nothing)
             
                   ' Save recognition results as PDF
                   ocrDocument.Save("C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, Nothing)
                End Using
             End Using
             

ファイルベースのドキュメント

このモードでは、OCRページは、保存する前にメモリ内のあるために必要でありません。このモードは、ドキュメントが大量のページを持っている時を推薦されます、そして。

ファイルベースのIOcrDocumentに、IOcrPageCollectionはページのストアのみのビューです。ページが追加されるとき、現在の認識データのスナップショットはドキュメントに保存されます。このデータはもはや修正されることができません、そして、ページがもはや必要でありません。ドキュメントに追加される前に、ユーザーはページを認めなければなりません、そして、ページは追加されることができるだけであるが、削除されることができるだけでありません。

以下のサンプルは、複数ページのPDFファイルを作成するために、ファイルベースのドキュメントを使います。セーブの間、認められて、必要とされなかったあと、ページがどのように破棄されるかについて気がつきます。

C#


             // Create the engine instance
             using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
             {
                // Startup the engine
                ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
             
                // Create a file-based OCR document
                using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile))
                {
                   string imageFile = @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif";
            
                   // Get the number of pages in the document
                   int pageCount = ocrEngine.RasterCodecsInstance.GetTotalPages(imageFile);
            
                   // Create a page
                   for (int page = 1; page <= pageCount; page++)
                   {
                      // Load a RasterImage
                      RasterImage rasterImage = ocrEngine.RasterCodecsInstance.Load(imageFile, page);
             
                      // Create an OCR page from this image, transform ownership of the RasterImage object
                      using (IOcrPage ocrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose))
                      {
                         // Recognize the page
                         ocrPage.Recognize(null);
             
                         // Add it to the document
                         ocrDocument.Pages.Add(ocrPage);
             
                         // Page will be disposed here and its memory freed
                      }
                   }
             
                   // Save recognition results as PDF
                   ocrDocument.Save(@"C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, null);
                }
             }
             

Visual Basic


             ' Create the engine instance
             Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
                ' Startup the engine
                ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
             
                ' Create a file-based OCR document
                Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument(Nothing, OcrCreateDocumentOptions.AutoDeleteFile)
                   Dim imageFile As String = "C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif"
            
                   ' Get the number of pages in the document
                   Dim pageCount As Integer = ocrEngine.RasterCodecsInstance.GetTotalPages(imageFile)
            
                   ' Create a page
                   For page As Integer = 1 To pageCount
                      ' Load a RasterImage
                      Dim rasterImage As RasterImage = ocrEngine.RasterCodecsInstance.Load(imageFile, page)
             
                      ' Create an OCR page from this image, transform ownership of the RasterImage object
                      Using ocrPage As IOcrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose)
                         ' Recognize the page
                         ocrPage.Recognize(Nothing)
             
                         ' Add it to the document
                         ocrDocument.Pages.Add(ocrPage)
             
                         ' Page will be disposed here and its memory freed
                      End Using
                   Next
             
                   ' Save recognition results as PDF
                      ocrDocument.Save(@"C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, Nothing)
                End Using
             End Using
             

ファイルベースのドキュメントは、保存されることもできて、ページを追加するか、あとで最終的なドキュメントに変換し続けるためにリロードされることもできます。以下のサンプルは、以下を実行する方法を示します

C#


             private static void Test4()
             {
                // Create the engine instance
                IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);
                // Startup the engine
                ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
            
                string imageFile1 = @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif";
                string imageFile2 = @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr2.tif";
            
                // Create a file-based OCR document
                // Pass a file name (will be re-used) and tell the document to not delete it
                string documentFile = @"C:\Users\Public\Documents\LEADTOOLS Images\document.bin";
                using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(documentFile, OcrCreateDocumentOptions.None))
                {
                   // Verify the document does not have any pages
                   System.Diagnostics.Debug.Assert(ocrDocument.Pages.Count == 0);
            
                   // Add a page
                   RasterImage rasterImage = ocrEngine.RasterCodecsInstance.Load(imageFile1, 1);
                   using (IOcrPage ocrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose))
                   {
                      ocrPage.Recognize(null);
                      ocrDocument.Pages.Add(ocrPage);
                   }
            
                   // Here the document is disposed but the file will not be deleted
                }
            
                // Re-load the document
                using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(documentFile, OcrCreateDocumentOptions.LoadExisting))
                {
                   // Verify the document has one page
                   System.Diagnostics.Debug.Assert(ocrDocument.Pages.Count == 1);
            
                   // Add another page
                   RasterImage rasterImage = ocrEngine.RasterCodecsInstance.Load(imageFile2, 1);
                   using (IOcrPage ocrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose))
                   {
                      ocrPage.Recognize(null);
                      ocrDocument.Pages.Add(ocrPage);
                   }
            
                   // Verify that the document has 2 pages
                   System.Diagnostics.Debug.Assert(ocrDocument.Pages.Count == 2);
            
                   // Save the document
                   ocrDocument.Save(@"C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, null);
            
                   // Result will be a PDF file with two pages
                }
            
                // Finally, delete the document file
                System.IO.File.Delete(documentFile);
                ocrEngine.Dispose();
             }
             

Visual Basic


             ' Create the engine instance
             Dim ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
             ' Startup the engine
             ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
            
             Dim imageFile1 As String = "C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif"
             Dim imageFile2 As String = "C:\Users\Public\Documents\LEADTOOLS Images\Ocr2.tif"
            
             ' Create a file-based OCR document
             ' Pass a file name (will be re-used) and tell the document to not delete it
             Dim documentFile As String = "C:\Users\Public\Documents\LEADTOOLS Images\document.bin"
             Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument(documentFile, OcrCreateDocumentOptions.None)
                ' Verify the document does not have any pages
                System.Diagnostics.Debug.Assert(ocrDocument.Pages.Count = 0)
            
                ' Add a page
                Dim rasterImage As RasterImage = ocrEngine.RasterCodecsInstance.Load(imageFile1, 1)
                Using ocrPage As IOcrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose)
                   ocrPage.Recognize(Nothing)
                   ocrDocument.Pages.Add(ocrPage)
                End Using
            
                ' Here the document is disposed but the file will not be deleted
             End Using
            
             ' Re-load the document
             Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument(documentFile, OcrCreateDocumentOptions.LoadExisting)
                ' Verify the document has one page
                System.Diagnostics.Debug.Assert(ocrDocument.Pages.Count = 1)
            
                ' Add another page
                Dim rasterImage As RasterImage = ocrEngine.RasterCodecsInstance.Load(imageFile2, 1)
                Using ocrPage As IOcrPage = ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose)
                   ocrPage.Recognize(Nothing)
                   ocrDocument.Pages.Add(ocrPage)
                End Using
            
                ' Verify that the document has 2 pages
                System.Diagnostics.Debug.Assert(ocrDocument.Pages.Count = 2)
            
                ' Save the document
                ocrDocument.Save("C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", DocumentFormat.Pdf, Nothing)
            
                ' Result will be a PDF file with two pages
             End Using
            
             ' Finally, delete the document file
             System.IO.File.Delete(documentFile)
            
             ocrEngine.Dispose()
             

IOcrAutoRecognizeManagerを用いて

以前のすべての技術では、ページをロードし、認識して文書に追加するために低レベルのコードが求められました。さらに、LEADTOOLS OCRエンジンでは、上記と同じタスクを、IOcrAutoRecognizeManagerインターフェースを1回で「起動して忘れる」ことで実施しています。この高水準OCRに、入力イメージは、1つのメソッドを用いた最善オプションを使っている出力フォーマットに、直接変換されます。

C#


             // Create the engine instance
             using(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
             {
                // Startup the engine
                ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
            
                // Convert the multi-page TIF image to a PDF document
                ocrEngine.AutoRecognizeManager.Run(
                   @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif",
                   @"C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf",
                   DocumentFormat.Pdf,
                   null,
                   null);
             }
             

Visual Basic


             ' Create the engine instance
             Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
                ' Startup the engine
                ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
            
                ' Convert the multi-page TIF image to a PDF document
                ocrEngine.AutoRecognizeManager.Run( _
                   "C:\Users\Public\Documents\LEADTOOLS Images\Ocr.tif", _
                   "C:\Users\Public\Documents\LEADTOOLS Images\Document.pdf", _
                   DocumentFormat.Pdf, _
                   Nothing, _
                   Nothing)
             End Using
             
参照

参照

概要
ご使用にあたって(サンプルプログラムへのガイド)
LEADTOOLSは、.NETアセンブリのOCR処理を行います
OCR認識モジュールの概要
OCRエンジンインスタンスの作成
OCRエンジンの開始と終了
LEADTOOLS OCRによるマルチスレッド
OCRスペル言語辞書
OCR言語の操作
OCRページの操作
OCRゾーンの操作
OCRページを認めること
OCR信用度の報告
LEADTOOLS .NET OCRのOMRを使用して
OCR言語とスペルチェック
エンジンに特有の設定のOCR処理を行います
OCRチュートリアル - ページの操作
OCRチュートリアル - ページの認識
OCRチュートリアル - ゾーンの追加と描画
OCRチュートリアル - 認識結果の操作
OCRチュートリアル - 検索可能PDFのスキャン