Aspose.OCRを使用して.NETでスキャンしたPDFからテキストを抽出する方法

Aspose.OCRを使用して.NETでスキャンしたPDFからテキストを抽出する方法

Scanned PDFsは、基本的にテキストの画像であるため、扱うのが難しいことがよくあります。これらの画像を検索可能で編集可能なテキスト文書に変換することで、文書管理やコンテンツアクセスの可能性が広がります。Aspose.OCR for .NETを使用すると、スキャンされたPDFを元の画像を保持しながら、完全に検索可能な文書に変換できます。

スキャンされたPDFに対するOCR(光学文字認識)の重要性

  1. データ抽出:
    • OCRを使用すると、スキャンされたテキストを機械可読データに変換でき、編集やインデックス作成が可能です。
  2. 検索可能性:
    • スキャンされたPDFを検索可能な文書に変換することで、ページを手動で検索することなく、関連情報を迅速に見つけることができます。
  3. 生産性の向上:
    • スキャンされた文書をWordやExcelなどの編集可能な形式に自動変換することで、時間を節約できます。

前提条件: スキャンされたPDFからのテキスト抽出の準備

スキャンされたPDFからテキストを抽出する前に、以下の手順を完了してください。

  1. Aspose.OCR for .NETのインストール:
    • NuGetを使用してプロジェクトにAspose.OCRを追加します:
      dotnet add package Aspose.OCR
  2. メーターライセンスの取得:
    • SetMeteredKey()を使用して、Aspose.OCRライブラリのすべての機能をアンロックするためにメーターライセンスを設定します。
  3. スキャンされたPDFの準備:
    • スキャンされたPDFが高品質であることを確認してください。品質が良いほど、OCRの精度が向上します。

ステップバイステップガイド: スキャンされたPDFからのテキスト抽出

ステップ 1: 必要なライブラリのインストール

プロジェクトにAspose.OCR for .NETをインストールします。これをNuGetから直接行うことができます。

dotnet add package Aspose.OCR

ステップ 2: ライセンスキーの設定

続行する前に、Aspose.OCRのライセンスを設定して、すべての機能をアンロックします。

using Aspose.OCR;

Metered license = new Metered();
license.SetMeteredKey("<your public key>", "<your private key>");
Console.WriteLine("ライセンスが正常に設定されました。");

ステップ 3: スキャンされたPDFをOCR入力オブジェクトにロード

スキャンされたPDFをOcrInputオブジェクトにロードする必要があります。Aspose.OCRはPDFの複数ページのスキャンをサポートしています。

OcrInput input = new OcrInput(Aspose.OCR.InputType.PDF);
input.Add("scanned_sample.pdf", 0, 3); // PDFの最初の3ページを処理
Console.WriteLine("スキャンされたPDFが正常にロードされました。");

ステップ 4: OCRエンジンを使用してスキャンされたPDFを処理

PDFがロードされたら、Aspose OCRエンジンに渡して認識を行います。

Aspose.OCR.AsposeOcr recognitionEngine = new Aspose.OCR.AsposeOcr();
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Aspose.OCR.Language.Latin;  // OCR言語を設定(例: 英語の場合はラテン)

List<Aspose.OCR.RecognitionResult> results = recognitionEngine.Recognize(input, settings);
Console.WriteLine("PDFからテキストが抽出されました。");

ステップ 5: 認識されたテキストを出力または保存

OCRエンジンがPDFを処理した後、認識されたテキストを直接出力するか、ファイルに保存できます。

string recognizedText = results[0].RecognitionText;
Console.WriteLine($"認識されたテキスト: {recognizedText}");

// 結果をテキストファイルに保存
results[0].Save("output.txt", Aspose.OCR.SaveFormat.Text);
Console.WriteLine("認識されたテキストがoutput.txtに保存されました。");

ステップ 6: OCR結果のテストと最適化

テキストを抽出した後、出力の精度をテストします。必要に応じて、異なる文書レイアウトに対して結果を改善するためにOCR設定を調整できます。


一般的な問題とその解決策

1. OCR精度が低い

  • 解決策: スキャンされたPDFの品質が高いことを確認します。高解像度のスキャンを使用して認識精度を向上させます。

2. サポートされていないフォント

  • 解決策: OCRオプションで正しい言語設定を提供し、非ラテン文字の認識を向上させます。

3. 遅いパフォーマンス

  • 解決策: PDFを小さなチャンクやページに分割して、特に大きな文書の場合は処理を速くします。
 日本語