ASPOSE.OCR を使用して OCR のバッチ処理とスケジュールを自動化する方法
ASPOSE.OCR を使用して OCR のバッチ処理とスケジュールを自動化する方法
Aspose.OCR for .NET は、モニターフォルダー、スケジュール作業、大容量処理、最大効率のエラーからの回復をサポートします。
現実世界問題
ビジネスは毎晩何千ものスキャンされたファイルを処理しなければなりません. 手動またはインタラクティブなOCRはスケールされず、エラーリスクを増加させません。
ソリューション概要
Aspose.OCR バッチ APIs、ファイル/フォルダーのモニタリング、およびスケジュールツール(Task Scheduler、Cron、など)を組み合わせて、OCR を規模で自動化します。
原則
- Visual Studio 2019 以降
- .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
- ASPOSE.OCR for .NET から NuGet
- (オプション) Windows Task Scheduler、Cron、またはその他の仕事の自動化ツール
PM> Install-Package Aspose.OCR
ステップ・ステップ・実施
ステップ1:インストールおよび設定 Aspose.OCR
using Aspose.OCR;
ステップ2:バッチ処理のファイルを発見する
string inputFolder = "./input";
string[] files = Directory.GetFiles(inputFolder, "*.jpg", SearchOption.AllDirectories);
ステップ3:バッチでOCRを実行する
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in files)
{
input.Add(file);
}
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
ステップ4:輸出とアーカイブの結果
int count = 1;
foreach (RecognitionResult result in results)
{
result.Save($"./output/result_{count}.txt", SaveFormat.Text);
count++;
}
ステップ5:仕事とエラーを記録する
try
{
// Batch OCR code
}
catch (Exception ex)
{
File.AppendAllText("ocr_errors.log", ex.Message + Environment.NewLine);
}
ステップ6:自動スケジュール(Windows Task Scheduler 例)
- バッチファイルまたは PowerShell スクリプトを作成して、スケジュールで OCR 作業を実行します。
- タスクスケジュールを使用して、毎日、夜間、またはトリガーで実行します。
# Example: schedule_ocr.bat
# > dotnet run --project YourOcrProject.csproj
ステップ7:新しいファイルのフォルダーモニタリング
FileSystemWatcher watcher = new FileSystemWatcher("./input", "*.jpg");
watcher.Created += (s, e) => { /* Trigger batch OCR on new file */ };
watcher.EnableRaisingEvents = true;
ステップ8:完璧な例
using Aspose.OCR;
using System;
using System.IO;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
try
{
string inputFolder = "./input";
string[] files = Directory.GetFiles(inputFolder, "*.jpg", SearchOption.AllDirectories);
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in files)
{
input.Add(file);
}
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
int count = 1;
foreach (RecognitionResult result in results)
{
result.Save($"./output/result_{count}.txt", SaveFormat.Text);
count++;
}
}
catch (Exception ex)
{
File.AppendAllText("ocr_errors.log", ex.Message + Environment.NewLine);
}
}
}
ケースとアプリケーションの使用
企業メールルームとデジタルインボックス
自動的に手動作業なしで入力文書のパッケージを処理します。
医療、法的、アーカイブワークフロー
医療記録、契約、またはアーカイブのための夜間または週間のOCRの仕事のスケジュール。
財務および遵守業務
自動レポートおよび遵守作業は、時間外の大規模なスキャンバッチを処理します。
共通の課題と解決策
課題1:不信任な手動スタート
ソリューション: 予想外の仕事のためのスケジュールツールを常に使用します。
チャレンジ2:大きなバッチのエラー
ソリューション: 強力な操作のための自動ログとエラー処理。
課題3:仕事の過剰またはリソースの制限
ソリューション: スタッガーの仕事、資源の監視、遅延や失敗の警告。
パフォーマンス考慮
- CPU、メモリ、ディスクのモニタリング 高容量作業
- 仕事後の分析のための出力とエラーログを使用する
- バッチの仕事は、影響を避けるために時間外で計画されるべきです。
ベストプラクティス
- 異なるファイルタイプおよびボリュームのテスト作業
- 失敗または遅いパフォーマンスの記録を監視する
- ソースと出力の両方のファイルをセキュアおよびアーカイブ
- 自動化スクリプトの更新と維持
高度なシナリオ
シナリオ1:バッチの仕事を並行または配布する
複数のサーバーやVMをスケールで分割します。
シナリオ2:仕事の完了に関するリアルタイムの警告
予定されている仕事が終わった後にメールまたはWebhook通知を送信します。
結論
Aspose.OCR for .NET は、スケールで強力で予想外の OCR 作業自動化を可能にします バッチ処理および計画により、タイミングで、信頼性が高く、エラー耐性の高い作業流を確保できます。 ASPOSE.OCR for .NET API リファレンス バッチ自動化のためのヒントとコード