ASPOSE.OCR で多言語 OCR プロセスをバッチする方法
グローバル・アーカイブ、ビジネス・ドキュメント、または調査フォームをデジタル化することは、多くの言語で働くことを意味します. 手動抽出は遅く、スケールできない. .NET のための Aspose.OCR は、複数の文字の大量の画像や PDF から単に数行のコードでテキストを自動化することができます。
現実世界問題
インターナショナル企業、図書館、データサービスは、よく混合言語文書に取り組んでいます. 手動の分類と語言特定の抽出は退屈であり、エラーが原因です。
ソリューション概要
Aspose.OCR for .NET は 30 以上の言語をサポートしています. ファイルまたはバッチごとに認識設定を設定し、ビジネスまたは研究ワークストリームへの無線統合のために、最適なフォーマットに抽出およびエクスポートを自動化することができます。
原則
- Visual Studio 2019 以降
- .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
- ASPOSE.OCR for .NET から NuGet
- 基本的なC#プログラミング経験
PM> Install-Package Aspose.OCR
ステップ・ステップ・実施
ステップ1:インストールおよび設定 Aspose.OCR
using Aspose.OCR;
ステップ2:入力ファイルを言語で整理する
入力画像やPDFを言語によって別々のフォルダーに組織するか、名称コンベンションを使用する:
// Example folders: ./input/en, ./input/fr, ./input/zh
ステップ3:言語による認識設定を設定する
Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
{ "en", Language.English },
{ "fr", Language.French },
{ "zh", Language.ChineseSimplified }
};
ステップ4:バッチプロセス入力ファイル
foreach (var pair in langFolders)
{
string folder = "./input/" + pair.Key;
RecognitionSettings settings = new RecognitionSettings();
settings.Language = pair.Value;
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in Directory.GetFiles(folder, "*.png"))
{
input.Add(file);
}
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
string output = Path.Combine("./output/", pair.Key + "_" + Path.GetFileNameWithoutExtension(result.FileName) + ".txt");
result.Save(output, SaveFormat.Text);
}
}
ステップ5:エラー処理と自動化を追加する
try
{
// batch processing code
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
ステップ6:スピードと正確さを最適化する
- パラレルで処理を実行する(メモリ/CPUのケア)
- 最高の結果を得るために高品質の画像を使用する
- 各言語における共通のランキング機能のためのトゥーン認識設定
// Example: Parallel batch processing
Parallel.ForEach(langFolders, pair =>
{
// per-language processing logic
});
ステップ7:完璧な例
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
Dictionary<string, Language> langFolders = new Dictionary<string, Language>
{
{ "en", Language.English },
{ "fr", Language.French },
{ "zh", Language.ChineseSimplified }
};
foreach (var pair in langFolders)
{
string folder = "./input/" + pair.Key;
RecognitionSettings settings = new RecognitionSettings();
settings.Language = pair.Value;
OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in Directory.GetFiles(folder, "*.png"))
{
input.Add(file);
}
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
string output = Path.Combine("./output/", pair.Key + "_" + Path.GetFileNameWithoutExtension(result.FileName) + ".txt");
result.Save(output, SaveFormat.Text);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
ケースとアプリケーションの使用
グローバルアーカイブデジタル化
多言語のアーカイブ、新聞、または企業記録からテキストを自動的に抽出する。
国際ビジネス自動化
あなたのグローバルなERPまたはワークフローに混合言語契約、請求書、または人事文書からOCRの結果をフィードします。
多言語の遵守と検索
複数の言語で文書を通じて完全なテキスト検索および遵守チェックを可能にします。
共通の課題と解決策
課題1:混合言語文書
**ソリューション:**ページごとに検出および処理を実行するか、利用可能な場合、AUTO言語モードを使用します。
チャレンジ2:画像の質を変える
ソリューション: スキャンを標準化し、画像の品質を正常化するために事前処理を実行します。
チャレンジ3:パフォーマンスボトルネック
**ソリューション:**可能な限りパラレルで処理し、リソースの使用を最適化します。
パフォーマンス考慮
- リソース効率のための言語によるバッチワークの組織化
- モニタリングメモリ/CPU パラレルワーク
- 各バッチでの出力確認
ベストプラクティス
- 問題解決のための言語フォルダーを整理する
- 各言語のサンプルバッチを確認する
- Aspose.OCR を最新の言語改良にアップデート
- 入力と出力の両方のデータを確保する
高度なシナリオ
シナリオ1:JSONへの多言語成果の輸出
foreach (RecognitionResult result in results)
{
result.Save(output.Replace(".txt", ".json"), SaveFormat.Json);
}
シナリオ2:言語を自動的に検出する(サポートされている場合)
settings.Language = Language.Auto;
結論
Aspose.OCR for .NET は、多言語の画像コレクションからテキスト抽出を自動化することを可能にし、グローバルなデジタル化を加速させ、アーカイブを検索可能で、発見可能であり、ワークフロー統合の準備ができています。
サポートされている言語と高度なヒントの完全なリストは、 ASPOSE.OCR for .NET API リファレンス .