PDF からテキストを抽出する

JavaでPDFからテキストを抽出

PDF ファイルは、ソフトウェア、ハードウェア、またはオペレーティング システムに関係なく、ドキュメントを確実に提示および交換するために使用される最も重要で広く使用されているデジタル形式の 1 つであることは誰もが知っています。ただし、シナリオによっては、大きな PDF ファイルから抜粋を取得したい場合があります。または、PDF をテキストにオンラインで保存する必要がある場合もあります。この記事では、Java REST API を使用して PDF からテキストへのコンバーターを開発する方法について詳しく説明します。

PDF ジェネレーター API

テンプレートを使用して PDF ドキュメントを生成するか、REST API を使用してゼロから生成することができます。同時に、API を使用すると、PDF ファイルを編集したり、他の サポートされている形式 に変換したりすることもできます。また、Java Cloud SDK を使用して、PDF からテキストを抽出し、PDF ファイルを復号化およびマージすることもできます。 Aspose.PDF Cloud SDK for Java を使用するには、pom.xml (maven ビルド タイプ プロジェクト) に次の詳細を含めて、Java アプリケーションにその参照を追加する必要があります。

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-cloud-pdf</artifactId>
        <version>21.11.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

インストール後、クラウド ダッシュボード で無料のアカウントを作成し、パーソナライズされたクライアント資格情報を取得する必要があります。

Java を使用して PDF からテキストを抽出する

Java クラウド SDK を使用して PDF からテキストを抽出する詳細を調べてみましょう。この例では、次の入力 PdfWithTable.pdf を使用します。ファイル。

PDFからテキストOCRへ

画像 1:- PDF からテキストへの抽出用の入力ファイル。

PDFからテキストOCRへ

画像 2:- PDF プレビューからテキストを抽出

// その他の例については、https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples にアクセスしてください。

try
    {
    // https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
		    
    // PdfApi のインスタンスを作成する
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);
    // 入力 PDF ドキュメントの名前
    String name = "PdfWithTable.pdf";
		        
    // 入力PDFファイルの内容を読む
    File file = new File(name); 
    // PDFをクラウドストレージにアップロード
    pdfApi.uploadFile("input.pdf", file, null);
		        
    // 左下隅の X 座標
    Double LLX = 500.0;
    // Y - 左下隅の座標。
    Double LLY = 500.0;
    // X - 右上隅の座標。
    Double URX = 800.0;
    // Y - 右上隅の座標。
    Double URY = 800.0;
			       
    // API を呼び出して PDF をテキストに変換する
    TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    
		    
    // 個々のテキスト オカレンスをトラバースする
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // コンソールにテキスト コンテンツを書き込む
        System.out.println(response.getTextOccurrences().getList().get(counter).getText());
    }
		  
    System.out.println("Extract Text from PDF successful !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

それでは、上記のコード スニペットを理解してみましょう。

PdfApi pdfApi = new PdfApi(clientSecret,clientId);

パーソナライズされた資格情報を引数として渡しながら、PdfApi のインスタンスを作成します。

File file = new File(name); 
pdfApi.uploadFile("input.pdf", file, null);

File オブジェクトを使用して入力 PDF を読み取り、PdfAPi クラスの uploadFile(…) メソッドを使用してクラウド ストレージにアップロードします。ファイルは、uploadFile メソッドで使用される名前でアップロードされることに注意してください。

TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    

ここで getText(..) メソッドを呼び出して、入力 PDF ファイルの名前、テキスト コンテンツを抽出する必要があるページ上の長方形の寸法を指定し、抽出したコンテンツを TextRectsResponse オブジェクトに返します。

response.getTextOccurrences().getList().get(counter).getText()

最後に、抽出されたテキスト コンテンツを出力するために、すべての TextOccurances を反復処理してコンソールに表示します。

cURL コマンドを使用した PDF からテキストへ

Java コード スニペットとは別に、cURL コマンドを使用して pdftotext 操作を実行することもできます。このアプローチの前提条件の 1 つは、次のコマンドを使用して (クライアント資格情報に基づいて) JWT アクセス トークンを生成することです。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT が生成されたら、次のコマンドを実行して、クラウド ストレージで既に利用可能な PDF ファイルからテキストを抽出してください。

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

簡単なヒント

PDFからテキストへの無料アプリを探しています!弊社のPDFパーサーをお試しください。

おわりに

結論として、Java を使用して PDF ファイルからテキストを抽出することは、データ処理と分析のニーズを自動化しようとしている人にとって強力なソリューションになる可能性があります。このガイドの助けを借りて、構築するための強固な基盤が得られ、PDF ドキュメントからテキストを抽出するための独自の Java ベースのソリューションを簡単に実装できます。データ分析、機械学習、またはその他の目的でテキストを抽出する場合でも、Java はニーズに合った柔軟で信頼性の高いプラットフォームを提供します。さあ、新たに習得したスキルを試してみてください!

API が提供するその他のエキサイティングな機能に興味がある場合は、製品ドキュメント を参照してください。最後に、API の使用中に問題が発生した場合、または関連する質問がある場合は、無料の 製品サポート フォーラム からお気軽にお問い合わせください。

関連記事

詳細については、次のリンクを参照してください。