ASPOSE.OCRでデジタルアーカイブの検索を改善する方法
スキャンされたドキュメントや画像の数百万はデジタルアーカイブに保存されますが、テキストが抽出され、インデックスされない限り、そのコンテンツを検索することは不可能です。
現実世界問題
アーカイブはスキャンされた契約、本、記事、または画像で包み込まれています. ユーザーは、テキストが抽出されていない限り、これらのファイルの内部を検索することはできません。
ソリューション概要
Aspose.OCR for .NET バッチは、スキャンされた画像や PDF からテキストを抽出し、これらのデータをお気に入りの検索ソリューションに送信することを可能にします。
原則
あなたが持っていることを確認してください:
- 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を論理的なフォルダー構造に収集し、簡単なバッチ処理を行います。
string archivePath = "./archive";
string[] files = Directory.GetFiles(archivePath, "*.pdf");
ステップ3:認識設定を設定する
Tune for language, document layout, and optimize for batch runs. 言語、ドキュメントの配置、バッチレースのための最適化。
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO; // Good for mixed archive content
ステップ4:バッチでテキストを抽出する
OcrInput input = new OcrInput(InputType.PDF);
foreach (string file in files)
{
input.Add(file);
}
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
ステップ5:インデックスのための抽出テキストを保存する
foreach (RecognitionResult result in results)
{
string textFile = Path.ChangeExtension(result.FilePath, ".txt");
result.Save(textFile, SaveFormat.Text);
}
ステップ6:検索インデックスを構築または更新する
Lucene.NET、ElasticSearch、またはあなたの好みのインデックス/検索ツールと統合します。
ステップ7:検索を視聴者と統合する
検索インデックスをアーカイブのウェブインターフェイス、ドキュメントビューバー、または検索ツールに接続して、完全なテキストの結果を得ることができます。
ステップ8:エラー処理を追加する
try
{
// All recognition and indexing code here
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
ステップ9:テストと認証
サンプルリクエストを実行し、あなたのアーカイブが完全に検索可能であることを確認します。
ケースとアプリケーションの使用
デジタル図書館と博物館
デジタル化された本、手書き、コレクションのための完全なテキスト検索を可能にします。
企業・法的アーカイブ
契約、メモ、およびレポートをすぐに見つける - オリジナルの形式に関係なく。
アカデミック・ジャーナリズムアーカイブ
研究者は、歴史的文書、記事、または検閲データを迅速に検索することができます。
共通の課題と解決策
課題1:さまざまなドキュメントタイプ
ソリューション: AUTO モードを使用し、さまざまなドキュメント レイアウトでテスト認証を行います。
課題2:古い文書の正確性
ソリューション: コントロール/デスケーブのためのプレプロセス、または言語とフィルターの設定を使用します。
課題3:スケールとパフォーマンス
ソリューション: パラレルでバッチプロセスとリソースの使用を監視します。
パフォーマンス考慮
- 管理可能なバッチでプロセスアーカイブ
- 効率的なインデックス形式で抽出されたテキストを保存する
- メモリモニタリングおよびファイル I/O 大型レース
ベストプラクティス
- より簡単なインデックスのために、ドキュメントタイプまたは年によってアーカイブを組織する
- 定期的にアーカイブが成長するにつれて再インデックスします。
- メタデータ(日付、著者、タイプ)を使用して検索関連性を高める
- オリジナルファイルと抽出テキストのバックアップ
高度なシナリオ
シナリオ1:多言語アーカイブ検索
settings.Language = Language.Spanish;
シナリオ2:検索可能なPDFへの輸出
foreach (RecognitionResult result in results)
{
result.Save(Path.ChangeExtension(result.FilePath, ".pdf"), SaveFormat.Pdf);
}
結論
Aspose.OCR for .NET では、静的なデジタルアーカイブを豊富で完全に検索可能なリソースに変換することができます - 遵守、研究、および迅速な情報発見を可能にします。
より多くの統合のヒントとAPIの例を見つける ASPOSE.OCR for .NET API リファレンス .