Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

JavaでPDFから画像を抽出する

目次

  1. はじめに
  2. 前提条件
  3. コード例
  4. コールバックURLに結果を返す
  5. 設定オプション
  6. URLによるアップロード
  7. 認証の使用
  8. 詳細情報

はじめに

以下のチュートリアルでは、ホストされたJPedal cloud APIを使用してPDFから画像を抽出する方法を説明します。独自のセルフホスト型JPedalマイクロサービス をセットアップすることもできます。

上記のサービスは通常のHTTPリクエストでアクセス可能ですが、このチュートリアルではREST API のシンプルなJavaラッパーを提供する、オープンソースのJava IDRCloudClient を使用します。

前提条件

開始する前に、JDKの最新バージョン(バージョン8以上)がインストールされていることを確認する必要があります。詳細はJavaのウェブサイト で確認できます。

コード例

以下は、PDFから画像を抽出するための基本的なコード例です。設定オプションと高度な機能については、以下をご覧ください。

import java.util.Map;

public final class ExampleUsage {

    public static void main(final String[] args) {

        final IDRCloudClient client = new IDRCloudClient("https://my-self-hosted-service.com/" + IDRCloudClient.JPEDAL);

        
        final HashMap<String, String> params = new HashMap<>();
        params.put("input", IDRCloudClient.UPLOAD);
        params.put("file", "path/to/file.pdf");
        params.put("settings","{\"mode\":\"extractImages\",\"type\":\"rawImages\",\"format\":\"png\"}");
        try {
            final Map<String, String> results = client.convert(params);

            System.out.println("   ---------   ");
            System.out.println(results.get("previewUrl"));

            IDRCloudClient.downloadResults(results, "path/to/outputDir", "example");
        } catch (final ClientException | InterruptedException e) {
            e.printStackTrace();
        }
    }
} 

コールバックURLに結果を返す

JPedal Microserviceは、抽出完了時に抽出のステータス を送信するコールバックURLを受け付けます。コールバックURLを使用することで、抽出が完了したかどうかを判断するためにサービスをポーリングする必要がなくなります。
コールバックURLは、以下のようにparamsマップに指定できます。

final HashMap<String, String> params = new HashMap<>();
params.put("input", IDRCloudClient.UPLOAD);
params.put("file", "path/to/file.pdf");
params.put("callbackUrl", "http://listener.url");
params.put("settings","{\"mode\":\"extractImages\",\"type\":\"rawImages\",\"format\":\"png\"}"); 

設定オプション

JPedal APIは、抽出をカスタマイズするためのキーと値のペアの設定オプションを含む文字列化されたJSONオブジェクトを受け付けます。設定はパラメータ配列に追加する必要があります。PDFから画像を抽出するための設定オプションの完全なリストはこちら で確認できます。

params.put("settings", "{\"key\":\"value\",\"key\":\"value\"}");

URLによるアップロード

ローカルファイルをアップロードするだけでなく、JPedal Microserviceがダウンロードして抽出を実行するURLを指定することもできます。これを行うには、parametersバリアブルのinputとfileの値を以下に置き換えます。

params.put("input", IDRCloudClient.DOWNLOAD);
params.put("url", "http://exampleURL/exampleFile.pdf");

認証の使用

JPedal Microserviceが認証を必要とする場合は、ユーザー名とパスワードを提供する必要があります。これらは、以下のようにusernameとpasswordという名前の2つのバリアブルをconvertメソッドに渡すことで提供されます。

params.put("username","yourUsername");
params.put("password","yourPassword");

詳細情報

GitHub上のIDRCloudClient JPedal Microservice API
JPedal Microserviceの使用方法