このクイックチュートリアルでは、JavaでスキャンしたPDFからテキストを抽出する方法について詳しく説明します。検出パラメータを設定することにより、JavaでスキャンされたPDFからテキストを抽出するこのプロセスを構成できます。このオプションは、PDFの品質やその他のアプリケーション要件に応じて、速度または精度を選択するためにも使用できます。
JavaでスキャンしたPDFからテキストを抽出する手順
- Mavenリポジトリから、スキャンされたPDFテキストを読み取るようにプロジェクトでAspose.OCRを構成します
- AsposeOcrPdfオブジェクトを初期化して、PDFからテキストを読み取ります
- 認識パラメータを設定するためにDocumentRecognitionSettingsクラスオブジェクトをインスタンス化します
- テキストを読むためのPDFの開始ページとページ数を設定します
- 検出速度を上げるには、検出領域フラグをfalseに設定します
- RecognizePdf関数を呼び出して、上記の構成に従ってすべてのテキストを読み取ります
- PDFページから抽出されたすべての結果を繰り返し処理し、コンソールに表示します
- JavaでPDFからテキストをスキャンする*プロセス中に、PDFからテキストを認識する機能を実際に含むAsposeOCRPdfのオブジェクトが開始されます。開始ページ番号、読み取るPDFページ数、速度と精度を制御するための検出領域を設定するオプションなどの検出プロセスの構成をサポートします。最後に、各ページからスキャンした結果コレクションを解析し、コンソールに表示します。
スキャンしたPDFをJavaでテキストに変換するコード
import java.util.ArrayList; | |
import com.aspose.ocr.DocumentRecognitionSettings; | |
import com.aspose.ocr.RecognitionResult; | |
import com.aspose.ocr.pdf.AsposeOCRPdf; | |
public class ExtractTextFromScannedPdfInJava { | |
public static void main(String[] args) {//main function for ExtractTextFromScannedPdfInJava class | |
// Instantiate an AsposeOcrPdf object | |
AsposeOCRPdf ocrPdfToReadText = new AsposeOCRPdf(); | |
// Initialize DocumentRecognitionSettings class object for configuring recognition settings | |
DocumentRecognitionSettings docRecognitionConfig = new DocumentRecognitionSettings(1,3); | |
// Set detect areas to false to improve speed | |
docRecognitionConfig.setDetectAreas(false); | |
// Using the recognition settings, fetch text from the range of pages set in the constructor above | |
ArrayList<RecognitionResult> fetchedTextResults = ocrPdfToReadText.RecognizePdf("InputSampleFile.pdf", docRecognitionConfig); | |
// Iterate through all the text fetched from each page | |
int PageCounter = 1; | |
for(RecognitionResult page : fetchedTextResults) | |
{ | |
System.out.println("Page No: " + PageCounter + " Fetched Text:" + page.recognitionText); | |
PageCounter++; | |
} | |
} | |
} |
このコードはAsposeOCRPdfを使用して、JavaでスキャンされたPDFからテキストを取得します。 DocumentRecognitionSettingsクラスオブジェクトには、このサンプルコードに示されているコンストラクターを使用するか、StartPageとPagesNumberを個別に設定することにより、ページ構成を設定するためのオプションが含まれています。スキャンしたPDFからテキストを並列検出するために、言語、画像のゆがみ補正、スレッド数を設定することもできます。
この記事では、JavaでスキャンしたPDFからテキストを抽出する方法と、検出プロセスの構成について学習しました。ただし、画像からテキストを抽出する場合は、Javaを使用して画像からテキストを抽出する方法の記事を参照してください。