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

フレームを表示

Startupメソッド








画像ファイルをエンジンの内側のディスクからロードする際に使用するRasterCodecsオブジェクトのオプションインスタンス。使用するRasterCodecsのユーザー独自の初期化インスタンスを渡すことができます。同じオブジェクトが、ラスター画像ファイルをロードするとき、OCRエンジンで内部的にその後使われます。さもなければ、nullVisual BasicではNothing)を渡します、そして、IOcrEngineは必要に応じてRasterCodecsのそれ自身のバージョンを作成して、使います。詳細は、このパラメーターがどのようにそのライフタイムの間、OCRエンジンにより用いられるかの、RasterCodecsInstanceをごらんください、エンジンとRasterCodecs/DocumentWriter使用法のOCR処理を行うために照会します。
OCR文書をエンジンの内側のディスクに保存する際に使用するDocumentWriterオブジェクトのオプションインスタンス。使用するDocumentWriterのユーザー独自の初期化インスタンスを渡すことができます。同じオブジェクトが、ディスクにOCRドキュメントを保存するとき、OCRエンジンで内部的にその後使われます。さもなければ、nullVisual BasicではNothing)を渡します、そして、IOcrEngineは必要に応じてDocumentWriterのそれ自身のバージョンを作成して、使います。詳細は、このパラメーターがどのようにそのライフタイムの間、OCRエンジンにより用いられるかの、DocumentWriterInstanceをごらんください、エンジンとRasterCodecs/DocumentWriter使用法のOCR処理を行うために照会します。

エンジンが一時ファイルを保存するとき、使われるディレクトリへのオプションのパス。IOcrEngineオブジェクトは、認識と文書の保存処理の間じゅうに各種一時ファイルを作成します。それは、これらの一時ファイルが作成される場所としてworkDirectoryで渡されるパスを使います。null(Visual BasicではNothing)を渡すと、エンジンは現在のログインユーザー(TEMP)の一時ディレクトリを選択できるようになります。

いずれにせよ、現在の開始されたIOcrEngineの作業ディレクトリーの値は、WorkDirectoryプロパティから得られることができます。

エンジンは、作成される任意の一時ファイルを自動的に削除します。しかし、予想外のエラーが発生すると(たとえばハンドルされていない例外)、一部の一時ファイルはアプリケーションの終了後も作業ディレクトリに残ります。代表的アプリケーションはアプリケーションパスの中にカスタムディレクトリを使うかもしれなくて、手動で、アプリケーションの1つ前のインスタンスが異常に出る場合に備えて、スタートアップを呼び出す前にそこで住むかもしれない任意のファイルを削除します。

workDirectoryパラメーターの値がnullVisual BasicではNothing)でないならば、それはシステムの中に存在する有効なディレクトリに言及しなければなりません、そして、エンジンを作成したプロセスにはファイルをこのディレクトリから読んで、書き込んで、削除するのに十分なアクセス権がなければなりません。

オプションの最初のパラメーター。このパラメーターの値は、以下のようにこのIOcrEngineの型に依存します:
エンジン startupParameters
OcrEngineType.Advantage

OCRエンジンファイルを格納しているフォルダへのパス。

デフォルトで、セットアップの間、インストールパスがLEADTOOLS for .NETクラスライブラリがインストールされる(たとえば、C:\LEADTOOLS 19)ルートフォルダである「インストールPath\Bin\Common\OcrAdvantageRuntime」に、LEADTOOLS OCRモジュールの設定は、OCRエンジンファイルをインストールします。

startupParametersにNULL(Visual BasicではNothing)を渡すと、LEADTOOLS OCRエンジンは、上記に指定されたデフォルトのインストールフォルダ内のこうした余剰ファイルを探します。

自分のアプリケーションをパッケージ化する準備が整ったとき、LEADTOOLS OCRエンジンがこれら余剰ファイルを探す場所を変更したい場合があります。そうするために、このプロパティを使うことができます。スタートアップメソッドを呼び出す前に欲しいパスを設定します。

OcrEngineType.Arabic

OCRエンジンファイルを格納しているフォルダへのパス。

デフォルトで、セットアップの間、インストールパスがLEADTOOLS for .NETクラスライブラリがインストールされる(たとえば、C:\LEADTOOLS 19)ルートフォルダである「インストールPath\Bin\Common\OcrArabicRuntime」に、LEADTOOLS OCRモジュールの設定は、OCRエンジンファイルをインストールします。

startupParametersにNULL(Visual BasicではNothing)を渡すと、LEADTOOLS OCRエンジンは、上記に指定されたデフォルトのインストールフォルダ内のこうした余剰ファイルを探します。

自分のアプリケーションをパッケージ化する準備が整ったとき、LEADTOOLS OCRエンジンがこれら余剰ファイルを探す場所を変更したい場合があります。そうするために、このプロパティを使うことができます。スタートアップメソッドを呼び出す前に欲しいパスを設定します。

OcrEngineType.Professional

OCRエンジンファイルを格納しているフォルダへのパス。

デフォルトで、セットアップの間、インストールパスがLEADTOOLS for .NETクラスライブラリがインストールされる(たとえば、C:\LEADTOOLS 19)ルートフォルダである「インストールPath\Bin\Common\OcrProfessionalRuntime」に、LEADTOOLS OCRモジュールの設定は、OCRエンジンファイルをインストールします。

startupParametersにNULL(Visual BasicではNothing)を渡すと、LEADTOOLS OCRエンジンは、上記に指定されたデフォルトのインストールフォルダ内のこうした余剰ファイルを探します。

自分のアプリケーションをパッケージ化する準備が整ったとき、LEADTOOLS OCRエンジンがこれら余剰ファイルを探す場所を変更したい場合があります。そうするために、このプロパティを使うことができます。スタートアップメソッドを呼び出す前に欲しいパスを設定します。

OCRエンジンを開始します。
構文
'Declaration
 
Sub Startup( _
   ByVal rasterCodecs As RasterCodecs, _
   ByVal documentWriter As DocumentWriter, _
   ByVal workDirectory As String, _
   ByVal startupParameters As String _
) 
'Usage
 
Dim instance As IOcrEngine
Dim rasterCodecs As RasterCodecs
Dim documentWriter As DocumentWriter
Dim workDirectory As String
Dim startupParameters As String
 
instance.Startup(rasterCodecs, documentWriter, workDirectory, startupParameters)
- (BOOL)startup:(nullable LTRasterCodecs *)rasterCodecs 
 documentWriter:(nullable LTDocumentWriter *)documentWriter 
  workDirectory:(nullable NSString *)workDirectory 
engineDirectory:(nullable NSString *)engineDirectory 
          error:(NSError **)error
            
public void startup(RasterCodecs rasterCodecs,
                    String workDirectory,
                    String startupParameters,
                    String sharedLibsFolder)
            
function Leadtools.Forms.Ocr.IOcrEngine.Startup( 
   rasterCodecs ,
   documentWriter ,
   workDirectory ,
   startupParameters 
)

パラメーター

rasterCodecs
画像ファイルをエンジンの内側のディスクからロードする際に使用するRasterCodecsオブジェクトのオプションインスタンス。使用するRasterCodecsのユーザー独自の初期化インスタンスを渡すことができます。同じオブジェクトが、ラスター画像ファイルをロードするとき、OCRエンジンで内部的にその後使われます。さもなければ、nullVisual BasicではNothing)を渡します、そして、IOcrEngineは必要に応じてRasterCodecsのそれ自身のバージョンを作成して、使います。詳細は、このパラメーターがどのようにそのライフタイムの間、OCRエンジンにより用いられるかの、RasterCodecsInstanceをごらんください、エンジンとRasterCodecs/DocumentWriter使用法のOCR処理を行うために照会します。
documentWriter
OCR文書をエンジンの内側のディスクに保存する際に使用するDocumentWriterオブジェクトのオプションインスタンス。使用するDocumentWriterのユーザー独自の初期化インスタンスを渡すことができます。同じオブジェクトが、ディスクにOCRドキュメントを保存するとき、OCRエンジンで内部的にその後使われます。さもなければ、nullVisual BasicではNothing)を渡します、そして、IOcrEngineは必要に応じてDocumentWriterのそれ自身のバージョンを作成して、使います。詳細は、このパラメーターがどのようにそのライフタイムの間、OCRエンジンにより用いられるかの、DocumentWriterInstanceをごらんください、エンジンとRasterCodecs/DocumentWriter使用法のOCR処理を行うために照会します。
workDirectory

エンジンが一時ファイルを保存するとき、使われるディレクトリへのオプションのパス。IOcrEngineオブジェクトは、認識と文書の保存処理の間じゅうに各種一時ファイルを作成します。それは、これらの一時ファイルが作成される場所としてworkDirectoryで渡されるパスを使います。null(Visual BasicではNothing)を渡すと、エンジンは現在のログインユーザー(TEMP)の一時ディレクトリを選択できるようになります。

いずれにせよ、現在の開始されたIOcrEngineの作業ディレクトリーの値は、WorkDirectoryプロパティから得られることができます。

エンジンは、作成される任意の一時ファイルを自動的に削除します。しかし、予想外のエラーが発生すると(たとえばハンドルされていない例外)、一部の一時ファイルはアプリケーションの終了後も作業ディレクトリに残ります。代表的アプリケーションはアプリケーションパスの中にカスタムディレクトリを使うかもしれなくて、手動で、アプリケーションの1つ前のインスタンスが異常に出る場合に備えて、スタートアップを呼び出す前にそこで住むかもしれない任意のファイルを削除します。

workDirectoryパラメーターの値がnullVisual BasicではNothing)でないならば、それはシステムの中に存在する有効なディレクトリに言及しなければなりません、そして、エンジンを作成したプロセスにはファイルをこのディレクトリから読んで、書き込んで、削除するのに十分なアクセス権がなければなりません。

startupParameters
オプションの最初のパラメーター。このパラメーターの値は、以下のようにこのIOcrEngineの型に依存します:
エンジン startupParameters
OcrEngineType.Advantage

OCRエンジンファイルを格納しているフォルダへのパス。

デフォルトで、セットアップの間、インストールパスがLEADTOOLS for .NETクラスライブラリがインストールされる(たとえば、C:\LEADTOOLS 19)ルートフォルダである「インストールPath\Bin\Common\OcrAdvantageRuntime」に、LEADTOOLS OCRモジュールの設定は、OCRエンジンファイルをインストールします。

startupParametersにNULL(Visual BasicではNothing)を渡すと、LEADTOOLS OCRエンジンは、上記に指定されたデフォルトのインストールフォルダ内のこうした余剰ファイルを探します。

自分のアプリケーションをパッケージ化する準備が整ったとき、LEADTOOLS OCRエンジンがこれら余剰ファイルを探す場所を変更したい場合があります。そうするために、このプロパティを使うことができます。スタートアップメソッドを呼び出す前に欲しいパスを設定します。

OcrEngineType.Arabic

OCRエンジンファイルを格納しているフォルダへのパス。

デフォルトで、セットアップの間、インストールパスがLEADTOOLS for .NETクラスライブラリがインストールされる(たとえば、C:\LEADTOOLS 19)ルートフォルダである「インストールPath\Bin\Common\OcrArabicRuntime」に、LEADTOOLS OCRモジュールの設定は、OCRエンジンファイルをインストールします。

startupParametersにNULL(Visual BasicではNothing)を渡すと、LEADTOOLS OCRエンジンは、上記に指定されたデフォルトのインストールフォルダ内のこうした余剰ファイルを探します。

自分のアプリケーションをパッケージ化する準備が整ったとき、LEADTOOLS OCRエンジンがこれら余剰ファイルを探す場所を変更したい場合があります。そうするために、このプロパティを使うことができます。スタートアップメソッドを呼び出す前に欲しいパスを設定します。

OcrEngineType.Professional

OCRエンジンファイルを格納しているフォルダへのパス。

デフォルトで、セットアップの間、インストールパスがLEADTOOLS for .NETクラスライブラリがインストールされる(たとえば、C:\LEADTOOLS 19)ルートフォルダである「インストールPath\Bin\Common\OcrProfessionalRuntime」に、LEADTOOLS OCRモジュールの設定は、OCRエンジンファイルをインストールします。

startupParametersにNULL(Visual BasicではNothing)を渡すと、LEADTOOLS OCRエンジンは、上記に指定されたデフォルトのインストールフォルダ内のこうした余剰ファイルを探します。

自分のアプリケーションをパッケージ化する準備が整ったとき、LEADTOOLS OCRエンジンがこれら余剰ファイルを探す場所を変更したい場合があります。そうするために、このプロパティを使うことができます。スタートアップメソッドを呼び出す前に欲しいパスを設定します。

解説

スタートアップメソッドは、このIOcrEngineで他のどのメソッドまたはプロパティも呼び出す前に呼び出されなければなりません。

エンジンが開始されるならば、チェックするために、IsStartedプロパティを使います。

エンジンを終了するためにシャットダウンを呼び出さなければならなくて、使われるメモリと資源を開放しなければなりません。

スタートアップメソッド複数回を呼び出すことができます、以降の呼び出しが内部のカウンターをインクリメントするだけの間、最初の呼び出しだけはエンジンを開始します。スタートアップにつきシャットダウンが呼び出したと叫ばなければなりません。

IOcrEngineインターフェースは、IDisposableを実装します。IOcrEngineインスタンスの作成時に、破棄します(またはC#ならusing文、Visual BasicならUsing文)を呼び出すことを強くお勧めします。それが開始されたならば、Disposeメソッド意志はエンジンを自動的に終了します。

サンプル

以下のサンプルは、OCRエンジンランタイムファイルをC:\MyApp\Ocrへコピーしたと仮定します。

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

<TestMethod>
Public Sub StartupEngineExample()
   ' Use RasterCodecs to load an image file
   ' Note: You can let the engine load the image file directly as shown in the other examples
   Dim codecs As New RasterCodecs()
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"))
   ' Assume you copied the engine runtime files to C:\MyApp\Ocr
   Dim engineDir As String = "C:\MyApp\Ocr"

   ' Store the engine work directory into a path inside our application
   Dim workDir As String = "C:\MyApp\OcrTemp"

   ' Delete all files in the work directory in case the previous version of our application exited abnormally and
   ' the engine did not get the chance to clean all of its temporary files (if any)
   Directory.Delete(workDir, True)

   ' Re-create the work directory
   Directory.CreateDirectory(workDir)

   ' Create an instance of the engine
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
      ' Show that the engine has not been started yet
      Console.WriteLine("Before calling Startup, IsStarted = " & ocrEngine.IsStarted)

      ' Start the engine using our parameters
      ' Since we already have a RasterCodecs object, we can re-use it to save memory and resources
      ocrEngine.Startup(codecs, Nothing, workDir, engineDir)

      ' Make sure the engine is using our working directory
      Console.WriteLine("workDir passed is {0}, the value of WorkDirectory after Startup is {1}", workDir, ocrEngine.WorkDirectory)

      ' Show that the engine has started fine
      Console.WriteLine("After calling Startup, EngineType is {0}, IsStarted = {1}", ocrEngine.EngineType, ocrEngine.IsStarted)

      ' Maks sure the engine is using our own version of RasterCodecs
      Debug.Assert(codecs Is ocrEngine.RasterCodecsInstance)

      ' Create a page from the raster image as page to the document
      Dim ocrPage As IOcrPage = ocrEngine.CreatePage(image, OcrImageSharingMode.AutoDispose)
      ' image belongs to the page and will be dispose when the page is disposed

      ' 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.Recognize(Nothing)

      ' Create a file based document
      Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument(Nothing, OcrCreateDocumentOptions.AutoDeleteFile)
         ' Add the page
         ocrDocument.Pages.Add(ocrPage)
         ' No need for the page anymore
         ocrPage.Dispose()

         ' Save the document we have as PDF
         Dim pdfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.DocumentWriters;

public void StartupEngineExample()
{
   // Use RasterCodecs to load an image file
   // Note: You can let the engine load the image file directly as shown in the other examples
   RasterCodecs codecs = new RasterCodecs();
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"));
   // Assume you copied the engine runtime files to C:\MyApp\Ocr
   string engineDir = @"C:\MyApp\Ocr";

   // Store the engine work directory into a path inside our application
   string workDir = @"C:\MyApp\OcrTemp";

   // Delete all files in the work directory in case the previous version of our application exited abnormally and
   // the engine did not get the chance to clean all of its temporary files (if any)
   Directory.Delete(workDir, true);

   // Re-create the work directory
   Directory.CreateDirectory(workDir);

   // Create an instance of the engine
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
   {
      // Show that the engine has not been started yet
      Console.WriteLine("Before calling Startup, IsStarted = " + ocrEngine.IsStarted);

      // Start the engine using our parameters
      // Since we already have a RasterCodecs object, we can re-use it to save memory and resources
      ocrEngine.Startup(codecs, null, workDir, engineDir);

      // Make sure the engine is using our working directory
      Console.WriteLine("workDir passed is {0}, the value of WorkDirectory after Startup is {1}", workDir, ocrEngine.WorkDirectory);

      // Show that the engine has started fine
      Console.WriteLine("After calling Startup, EngineType is {0}, IsStarted = {1}", ocrEngine.EngineType, ocrEngine.IsStarted);

      // Maks sure the engine is using our own version of RasterCodecs
      Debug.Assert(codecs == ocrEngine.RasterCodecsInstance);

      // Create a page from the raster image as page to the document
      IOcrPage ocrPage = ocrEngine.CreatePage(image, OcrImageSharingMode.AutoDispose);
      // image belongs to the page and will be dispose when the page is disposed

      // 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.Recognize(null);

      // Create a file based document
      using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(null,OcrCreateDocumentOptions.AutoDeleteFile))
      {
         // Add the page
         ocrDocument.Pages.Add(ocrPage);
         // No need for the page anymore
         ocrPage.Dispose();

         // Save the document we have as PDF
         string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.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();
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms.DocumentWriters;

      
public async Task StartupEngineExample()
{
   // Use RasterCodecs to load an image file
   // Note: You can let the engine load the image file directly as shown in the other examples
   RasterCodecs codecs = new RasterCodecs();
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(@"Assets\Ocr1.tif");
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
   // Assume you coped the engine runtime files to a folder named "OcrRuntime" inside your project

   // Store the engine work directory into a path inside our application
   string tempFolderName = "OcrTemp";
   string workDir = Path.Combine(Tools.AppLocalFolder.Path, tempFolderName);

   // Create the work directory
   await Tools.AppLocalFolder.CreateFolderAsync(tempFolderName);

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

   // Show that the engine has not been started yet
   Debug.WriteLine("Before calling Startup, IsStarted = " + ocrEngine.IsStarted);

   // Start the engine using our parameters
   // Since we already have a RasterCodecs object, we can re-use it to save memory and resources
   ocrEngine.Startup(codecs, null, workDir, Tools.OcrEnginePath);

   // Make sure the engine is using our working directory
   Debug.WriteLine("workDir passed is {0}, the value of WorkDirectory after Startup is {1}", workDir, ocrEngine.WorkDirectory);

   // Show that the engine has started fine
   Debug.WriteLine("After calling Startup, EngineType is {0}, IsStarted = {1}", ocrEngine.EngineType, ocrEngine.IsStarted);

   // Maks sure the engine is using our own version of RasterCodecs
   Debug.Assert(codecs == ocrEngine.RasterCodecsInstance);

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

   // Add the raster image as page to the document
   IOcrPage 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.Recognize(null);

   // Save the document we have as PDF
   string pdfFileName = "Ocr1.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インターフェース
IOcrEngineメンバ
WorkDirectoryプロパティ
IsStartedプロパティ
Shutdownメソッド
OcrEngineManagerクラス
OcrEngineType列挙体
Leadtools.Forms.DocumentWriters.DocumentWriter
LEADTOOLS .NET OCRによるプログラミング
OCRエンジンインスタンスの作成
OCRエンジンの開始と終了

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