
Javaを使用してPDFをTXTに変換する方法
PDF ファイルは通常、テキスト、画像、見出し、注釈、およびその他の要素で構成されています。また、この形式はプラットフォーム (デスクトップ/モバイルなど) 間でドキュメントのレイアウトを保持するため、インターネット上で情報を共有するために広く使用されています。ただし、さらに処理するために PDF ドキュメントのテキスト コンテンツを抽出する必要がある場合があります。この記事では、Java Cloud SDK を使用して PDF からテキストを抽出する方法について詳しく説明します。操作が完了すると、出力は TXT 形式で保存されます。
PDF から TXT への変換 API
Aspose.PDF Cloud SDK for Java は、受賞歴のある REST API ソリューションであり、PDF を作成、編集、および JPG、XPS、HTML、DOCX、およびその他のさまざまな サポートされているフォーマット に変換する機能を提供します。 Java アプリケーションで PDF テキスト認識機能を実装するには、maven ビルド タイプ プロジェクトの pom.xml に次の詳細を追加してください。
<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-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
SDK のインストール後、次の重要なステップは Aspose Cloud での無料アカウントの作成です。そのため、新しく作成したアカウントを使用してログインし、クラウド ダッシュボード でクライアント ID とクライアント シークレットを検索/作成してください。これらの詳細は、以降のセクションで必要になります。
JavaでのPDFからテキストへ
Java Cloud SDK を使用して PDF からテキストへの変換を実行するには、以下の手順に従ってください。したがって、変換が成功すると、結果の TXT ファイルがクラウド ストレージに保存されます。
- 最初に、引数として ClientID と Client secret を提供しながら、PdfApi オブジェクトを作成する必要があります
- 次に、File インスタンスを使用して入力 PDF ファイルをロードします。
- uploadFile(…) メソッドを使用して、入力 PDF をクラウド ストレージにアップロードします。
- テキスト抽出用の PDF のページ番号を指定する整数変数と、テキスト コンテンツを抽出する必要があるページの四角形の領域を示す Double インスタンスを作成します。
- 最後に getPageText(…) メソッドを呼び出して、入力 PDF からテキスト コンテンツをフェッチします。
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 inputFile = "marketing.pdf";
// 入力PDFファイルの内容を読む
File file = new File("//Users//"+inputFile);
// PDFをクラウドストレージにアップロード
pdfApi.uploadFile("input.pdf", file, null);
// 変換する PDF の特定のページ
int pageNumber =1;
// 左下隅の X 座標
Double LLX = 0.0;
// Y - 左下隅の座標。
Double LLY = 0.0;
// X - 右上隅の座標。
Double URX = 800.0;
// Y - 右上隅の座標。
Double URY = 800.0;
// API を呼び出して PDF をテキストに変換する
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// 結果の TXT ファイル インスタンス
FileWriter myWriter = new FileWriter("filename.txt");
// 個々のテキストオカレンスをトラバースして、コンソールで印刷結果を取得するようになりました
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// テキストコンテンツをTXTファイルに書き込む
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// TXT ハンドラを閉じる
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}

Image1:- PDF から TXT への変換プレビュー
上記の例で使用されているサンプル PDF ファイルは、marketing.pdf および extracted.txt からダウンロードできます。
cURL コマンドを使用して PDF からテキストを抽出する
REST API は cURL コマンドを介して簡単にアクセスできるため、このセクションでは、cURL コマンドを使用して PDF からテキスト コンテンツを抽出する方法のオプションを検討します。そのため、前提条件として、次のコマンドを実行する際に、最初に (クライアント資格情報に基づいて) 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>"
結論
この記事では、Java Cloud SDK を使用して PDF を TXT に変換する方法について詳しく説明しました。同時に、cURL コマンドを使用して PDF からテキストを抽出するオプションも検討しました。したがって、複数の PDF ページ間を柔軟に移動できるため、コンテンツを抽出する場所を制御できます。製品 Documentation を調べて、Java Cloud API が提供するその他の興味深い機能について詳しく知ることを強くお勧めします。また、すべての Cloud SDK は MIT ライセンスの下で公開されているため、GitHub から完全なソース コードをダウンロードして、要件に応じて変更することを検討してください。問題が発生した場合は、無料の 製品サポート フォーラム から迅速な解決策を得ることができます。
関連記事
詳細については、次のリンクを参照してください。