このステップバイステップのチュートリアルでは、C#でスキャンしたPDFからテキストを抽出する方法を示します。ドキュメントをスキャンしてPDFにすると、それらのページはスキャンされた画像としてPDFファイル内に追加されます。したがって、スキャンしたPDFファイルからテキストを抽出するには、実際には、光学式文字認識(OCR)を適用してC#でPDFの画像からテキストを抽出する必要があります。
C#でスキャンしたPDFからテキストを抽出する手順
- NuGet.orgパッケージマネージャーからAspose.OCR for .NETを取得します
- Aspose.OCR namespaceへの参照を追加します
- SetLicenseメソッドを使用してライセンスコードを適用する
- AsposeOcrクラスのインスタンスを開始します
- DocumentRecognitionSettings classを使用して認識設定を指定します
- RecognizePDFメソッドを使用してすべてのPDFページを抽出します
- RecognitionTextプロパティを使用して各PDFページからテキストを取得します
上記の手順を使用すると、C#でスキャンしたPDFからテキストをすばやく簡単に読み取ることができます。以前、C#で画像からテキストを抽出するの方法を説明しました。ただし、この例は、C#でPDFからテキストを取得するのに役立ちます。
C#でスキャンしたPDFからテキストを抽出するコード
using System; | |
using System.Collections.Generic; | |
//Use following namespace to extract text from scanned PDF | |
using Aspose.OCR; | |
namespace ExtractTextFromScannedPDFFile | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set license before extracting text from scanned PDF file | |
Aspose.OCR.License AsposeOCRLicense = new Aspose.OCR.License(); | |
AsposeOCRLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
//create AsposeOcr object | |
AsposeOcr ScannedPDFFile = new AsposeOcr(); | |
//set recognition settings | |
DocumentRecognitionSettings RecognitionSettings = new DocumentRecognitionSettings(); | |
RecognitionSettings.StartPage = 1; | |
RecognitionSettings.PagesNumber = 3; | |
//when set true, improves accuracy but reduces speed | |
RecognitionSettings.DetectAreas = false; | |
//extract text from specified pages | |
List<RecognitionResult> ExtractedResults = ScannedPDFFile.RecognizePdf("InputScannedPDFFile.pdf", RecognitionSettings); | |
//fetch extracted text of each page | |
int PageCounter = 1; | |
foreach(RecognitionResult SinglePage in ExtractedResults) | |
{ | |
Console.WriteLine("Page: {0}, Extracted Text:{1}", PageCounter, SinglePage.RecognitionText); | |
PageCounter++; | |
} | |
} | |
} | |
} |
上記のC#のPDFからのテキストの取得例は、シンプルで理解しやすいものです。スキャンしたPDFファイルを読み取り、各ページからテキストを抽出するだけです。ただし、ここで理解しておくべき重要なポイントの1つは、DetectAreaプロパティです。 trueに設定すると、精度は向上しますが、PDFの処理速度は低下します。ただし、falseに設定すると、速度が向上し、精度が少し低下する場合があります。したがって、状況に基づいて2つのオプションから選択する必要があります。