PDF画像を抽出

Cloud Java を使用して PDF 画像を抽出する方法

PDF ファイルは、テキストと画像のコンテンツに素晴らしいサポートを提供するため、定期的に使用しています。これらの要素がドキュメント内に配置されると、それらを表示するために使用するプラットフォームに関係なく、ファイルのレイアウトが保持されます。ただし、PDF 画像を抽出する必要がある場合があります。これは PDF ビューア アプリケーションを使用して実行できますが、手動で各ページを走査し、各画像を個別に保存する必要があります。さらに、別のシナリオでは、画像ベースの PDF があり、PDF OCR を実行する必要がある場合、まずすべての画像を抽出してから OCR 操作を実行する必要があります。大量のドキュメントがある場合、これは非常に困難になりますが、プログラムによるソリューションは信頼性が高く迅速なソリューションになる可能性があります。したがって、この記事では、Java Cloud SDK を使用して PDF から画像を抽出するオプションを検討します。

PDF から JPG への変換 API

Java アプリケーションで PDF を JPG に、または JPG を PDF に変換するには、Aspose.PDF Cloud SDK for Java が最適です。同時に、PDF から画像を抽出したり、PDF からテキストを抽出したり、PDF から添付ファイルを抽出したり、PDF 操作のための多数のオプションを提供したりすることもできます。したがって、Java アプリケーションで PDF 画像を保存する機能を実装するには、まずプロジェクトに Cloud SDK 参照を追加する必要があります。そのため、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画像を抽出

以下の手順に従って PDF から画像を抽出してください。操作が完了すると、画像はクラウド ストレージの別のフォルダーに保存されます。

  • 最初に、引数として ClientID と Client secret を提供しながら、PdfApi オブジェクトを作成する必要があります
  • 次に、File インスタンスを使用して入力 PDF ファイルをロードします。
  • uploadFile(…) メソッドを使用して、入力 PDF をクラウド ストレージにアップロードします。
  • また、オプションのパラメーターを使用して、抽出された画像の高さと幅の詳細を設定します
  • 最後に putImagesExtractAsJpeg(…) メソッドを呼び出します。このメソッドは、入力 PDF 名、PageNumber を使用して画像を抽出し、抽出した画像のサイズと、抽出した画像を保存するクラウド ストレージ上のフォルダーの名前を受け取ります。
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;

    // 抽出された画像の幅
    int width = 600;
    // 抽出された画像の高さ
    int height = 800;
	    
    // 抽出した画像を保存するフォルダ
    String folderName = "NewFolder";
	       
    // PDF 画像を抽出して Cloud Storage に保存する
    pdfApi.putImagesExtractAsJpeg(inputFile, pageNumber, width, height, null, null, folderName);
	    
    // 成功メッセージを出力する
    System.out.println("PDF images Successsuly extracted !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }
PDF 画像の抽出のプレビュー

Image1:- PDF 画像のプレビューの抽出

上記の例で使用されているサンプル PDF ファイルは、input.pdf からダウンロードできます。

cURL コマンドを使用して PDF 画像を保存する

ここで、cURL コマンドを使用して PDF 画像抽出用の API を呼び出します。このアプローチの前提条件として、まず、次のコマンドを実行しながら、(クライアント資格情報に基づいて) 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 -X PUT "https://api.aspose.cloud/v3.0/pdf/input_file.pdf/pages/1/images/extract/jpeg?width=0&height=0&destFolder=NewFolder" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

結論

この記事を読んだ後は、Java コード・スニペットと cURL コマンドを使用して PDF 画像を抽出するための、シンプルでありながら信頼性の高い方法を習得できました。お気づきのように、PDF ファイルの指定されたページから画像を抽出し、抽出プロセスをより詳細に制御できます。製品 ドキュメンテーション は、この API の機能をさらに説明する一連の驚くべきトピックで強化されています。

また、すべての Cloud SDK は MIT ライセンスの下で公開されているため、GitHub から完全なソース コードをダウンロードして、要件に応じて変更することを検討してください。問題が発生した場合は、無料の 製品サポート フォーラム から迅速な解決策を得ることができます。

関連記事

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