LEADTOOLSフォーム(Leadtools.Forms.Autoアセンブリ)

フレームを表示

AutoFormsEngineクラス






メンバ 
フォームを認めて、処理して、作成するために、高レベルなフォーム認識と処理機能性を提供します。提供されたマスターフォームのIMasterFormsRepositoryを使用して、フォームの型を認識し、そのフィールドを処理します。
オブジェクトモデル
構文
public class AutoFormsEngine : System.IDisposable  
'Declaration
 
Public Class AutoFormsEngine 
   Implements System.IDisposable 
'Usage
 
Dim instance As AutoFormsEngine

            

            
public ref class AutoFormsEngine : public System.IDisposable  
解説

各々のAutoFormsEngineは、そのコンストラクタによって提供される1つのIMasterFormsRepositoryの上で機能します。

重要:違うOCRエンジンを使うと、フォームの位置決めや認識にわずかな違いが生まれる可能性があります。ですから、フォームを認識して処理する場合、マスターフォームを生成する際に同じLeadtools.Forms.Ocr.OcrEngineTypeを使うのが良いでしょう。

以下のコードは、フォームを処理する際にオンデマンドでマルチスレッドサーバーにおいてどのようにAutoFormsEngineを使用できるのかを示します。


             // The server class, can be a Windows or WCF service
             public class MyServer
             {
                // This is the request to process
                public void ProcessRequest(string fileName)
                {
                   // Unlock the LEADTOOLS support
                   // Get the license file path and developer key
                   // This can be fixed or read from a configuration file
                   string licenseFilePath = @"C:\LicenseFile.lic";
                   string developerKey = @"MyDeveloperKey";
                   RasterSupport.SetLicense(licenseFilePath, developerKey);
            
                   // Get the repository instance. This example assumes a disk repository
                   // The path can be fixed or read from configuration file
                   IMasterFormsRepository repository = new DiskMasterFormsRepository(new RasterCodecs(), @"C:\MyRepository");
            
                   // Get the OCR engine type
                   // Again, this can be fixed or read from a configuration file
                   OcrEngineType ocrEngineType = OcrEngineType.Advantage;
            
                   // int threadCount = Environment.ProcessorCount;
                   // Create the OCR engines needed for this operation
                   IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(ocrEngineType, true);
                   // Start the OCR engine
                   ocrEngine.Startup(null, null, null, null);
            
                   // Optional. Setup the barcode engine
                   BarcodeEngine barcodeEngine = new BarcodeEngine();
            
                   // Create the auto-forms engine
                   AutoFormsEngine engine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, AutoFormsRecognitionManager.Default);
            
                   bool runInThread = true; // Set this value depending on your server setup
            
                   if (runInThread)
                   {
                      using (AutoResetEvent finishedEvent = new AutoResetEvent(false))
                      {
                         // If this is a Windows Service, then the call to Run must be done in a separate thread to not block subsequent calls
                         ThreadPool.QueueUserWorkItem((state) =>
                         {
                            try
                            {
                               // Process the request, assuming all categories
                               AutoFormsRunResult result = engine.Run(fileName, null);
            
                               // Call your function to process the result
                               MyProcessResult(result);
                            }
                            catch (Exception ex)
                            {
                               Console.WriteLine("Error {0}", ex.Message);
                            }
                            finally
                            {
                               // We are done, inform the main thread
                               finishedEvent.Set();
                            }
                         });
                      }
                   }
                   else
                   {
                      // Another type of server, such as a WCF HTTP server, no need to run
                      // in a separate thread since every request is done in its separate process (IIS process)
                      // Process the request, assuming all categories
                      AutoFormsRunResult result = engine.Run(fileName, null);
            
                      // Call your function to process the result
                      MyProcessResult(result);
                   }
                }
             }
             
必要条件

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

参照

参照

AutoFormsEngineメンバ
Leadtools.Forms.Auto名前空間

Leadtools.Formsは、フォームモジュールのライセンスと、解除キーが必要です。詳細は、以下を参照してください。Imaging Pro/Document/Medicalの機能