PDF ファイルは、最も一般的なビジネス ドキュメントの 1 つです。場合によっては、スキャンした PDF ドキュメントをプログラムで読み取る必要があります。スキャンした PDF ファイルからテキストを抽出することは困難であるため、そのような PDF ドキュメントからテキストを読み、取得することを容易にするツールが開発されました。ドキュメントの内容によっては、PDF ファイルからのテキストの抽出がさまざまな理由で役立ちます。この記事では、C# で PDF ドキュメントを OCR し、PDF からテキストを抽出する方法を学習します。
この記事では、次のトピックについて説明します。
- OCR PDF to Text C# API
- PDF の OCR と PDF からのテキストの抽出
- PDF で OCR を実行し、テキストを保存
- OCR PDF から Word ファイルへ
- OCR PDF から JSON
OCR PDF からテキストへの C# API
Aspose.OCR for .NET API を使用して、PDF ドキュメントで OCR を実行します。スキャンした画像、スマートフォンの写真、スクリーンショット、および画像の領域を認識できます。 API は、認識されたテキスト結果を最も一般的なドキュメントおよびデータ交換形式で返します。画像をテキストに変換するだけでなく、API はスキャンに基づいて検索可能な PDF を作成することもできます。さらに、認識されたテキストのスペルミスを自動修正できます。
API は、OCR 操作を実行するためのさまざまなメソッドを提供する AsposeOcr クラスを提供します。提供された PDF ドキュメントからテキストを認識するための RecognizePdf(string, DocumentRecognitionSettings) メソッドを提供します。 API の DocumentRecognitionSettings クラスは、PDF 認識プロセスの設定を提供します。 RecognitionResult クラスは、画像認識の結果を表します。
APIのDLLをダウンロードするか、NuGetを使ってインストールしてください。
PM> Install-Package Aspose.OCR
C# での OCR PDF と PDF からのテキストの抽出
以下の手順に従って、PDF ドキュメントで OCR を実行し、認識されたテキストを抽出できます。
- まず、AsposeOcr クラスのインスタンスを作成します。
- 次に、DocumentRecognitionSettings クラスのオブジェクトを初期化します。
- 次に、OCR に使用する言語を指定します。
- その後、RecognizePdf() メソッドを呼び出して RecognitionResult を取得します。画像パスと DocumentRecognitionSettings オブジェクトを引数として取ります。
- 最後に、RecognitionResult リストをループして、識別されたテキストを表示します。
次のサンプル コードは、C# で PDF ドキュメントを OCR し、認識されたテキストを抽出する方法を示しています。
// このコード例は、PDF ドキュメントを OCR し、認識されたテキストを抽出する方法を示しています。
// PCR エンジンの初期化
AsposeOcr recognitionEngine = new AsposeOcr();
// 認識設定の初期化
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();
// OCR の言語を指定します。デフォルトで多言語
recognitionSettings.Language = Language.Eng;
// PDF からテキストを認識する
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);
// 認識されたテキストを表示
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
}
PDF で OCR を実行し、C# でテキストを保存する
以下の手順に従って、PDF ドキュメントで OCR を実行し、認識されたテキストを保存できます。
- まず、AsposeOcr クラスのインスタンスを作成します。
- 次に、DocumentRecognitionSettings クラスのオブジェクトを初期化します。
- 次に、OCR に使用する言語を指定します。
- その後、RecognizePdf() メソッドを呼び出して RecognitionResult を取得します。画像パスと DocumentRecognitionSettings オブジェクトを引数として取ります。
- 最後に、SaveMultipageDocument() メソッドを使用してテキストを保存します。出力ファイル パス、SaveFormat および RecognitionResult オブジェクトを引数として取ります。
次のサンプル コードは、PDF ドキュメントを OCR し、認識されたテキストを C# に保存する方法を示しています。
// このコード例は、PDF ドキュメントを OCR し、認識されたテキストを抽出する方法を示しています。
// PCR エンジンの初期化
AsposeOcr recognitionEngine = new AsposeOcr();
// 認識設定の初期化
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();
// OCR の言語を指定します。デフォルトで多言語
recognitionSettings.Language = Language.Eng;
// PDF からテキストを認識する
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);
// 認識したテキストを保存する
AsposeOcr.SaveMultipageDocument("C:\\Files\\OCR_result.txt", SaveFormat.Text, results);
C# で OCR PDF とスキャンした PDF を Word に変換
前述の手順に従って、スキャンした PDF ドキュメントで OCR を実行し、認識されたテキストを Word ドキュメントに保存できます。ただし、最後のステップで SaveFormat.Docx を指定する必要があるだけです。
次のサンプル コードは、OCR PDF を実行し、認識されたテキストを C# の Word ドキュメントとして保存する方法を示しています。
// このコード例は、PDF ドキュメントを OCR し、認識されたテキストを DOCX として保存する方法を示しています。
// PCR エンジンの初期化
AsposeOcr recognitionEngine = new AsposeOcr();
// 認識設定の初期化
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();
// OCR の言語を指定します。デフォルトで多言語
recognitionSettings.Language = Language.Eng;
// PDF からテキストを認識する
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);
// 認識されたテキストを DOCX として保存します
AsposeOcr.SaveMultipageDocument("C:\\Files\\OCR_result.docx", SaveFormat.Docx, results);
OCR PDF と C# での PDF から JSON への変換
前述の手順に従って、PDF ドキュメントに対して OCR を実行し、認識されたテキストを JSON ファイルに保存できます。ただし、最後のステップで SaveFormat.Json を指定する必要があるだけです。
次のサンプル コードは、OCR PDF を実行し、認識されたテキストを C# で JSON ファイルとして保存する方法を示しています。
// このコード例は、PDF ドキュメントを OCR し、認識されたテキストを JSON として保存する方法を示しています。
// PCR エンジンの初期化
AsposeOcr recognitionEngine = new AsposeOcr();
// 認識設定の初期化
DocumentRecognitionSettings recognitionSettings = new DocumentRecognitionSettings();
// OCR の言語を指定します。デフォルトで多言語
recognitionSettings.Language = Language.Eng;
// PDF からテキストを認識する
List<RecognitionResult> results = recognitionEngine.RecognizePdf("C:\\Files\\sample.pdf", recognitionSettings);
// 認識したテキストを JSON として保存する
AsposeOcr.SaveMultipageDocument("C:\\Files\\OCR_result.json", SaveFormat.Json, results);
無料の評価ライセンスを取得する
無料の一時ライセンスを取得して、評価制限なしでライブラリを試すことができます。
結論
この記事では、PDF ドキュメントに対して OCR を実行し、C# で PDF からテキストを抽出する方法を学びました。認識されたテキストを TXT、DOCX、および JSON ファイルとして保存する方法も見てきました。また、ドキュメント を使用して、Aspose.OCR for .NET API について詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。