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

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

目次

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

はじめに

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

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

前提条件

pipを使用して、次のコマンドでIDRCloudClientパッケージ をインストールしてください:

pip install IDRCloudClient

コード例

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

from IDRSolutions import IDRCloudClient

client = IDRCloudClient('https://my-self-hosted-service.com/' + IDRCloudClient.JPEDAL)

try:
    result = client.convert(
        input=IDRCloudClient.UPLOAD, 
        file='/path/to/exampleFile.pdf',
        ,
        settings='{"mode":"extractImages","type":"rawImages","format":"png"}'
    )
    outputURL = result['downloadUrl']

    client.downloadResult(result, 'path/to/output/dir')

    if outputURL is not None:
        print("Download URL: " + outputURL)

except Exception as error:
    print(error)

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

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

result = client.convert(
    input=IDRCloudClient.UPLOAD,
    callbackUrl='http://listener.url',
    file='/path/to/exampleFile.pdf',
    ,
        settings='{"mode":"extractImages","type":"rawImages","format":"png"}'
)

設定オプション

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

settings='{"key":"value","key":"value"}'

URLによるアップロード

ローカルファイルをアップロードする代わりに、JPedalマイクロサービスがダウンロードして抽出を実行するURLを提供することもできます。これを行うには、convertメソッドのinputとfileの値を次のように置き換える必要があります。

input=IDRCloudClient.DOWNLOAD
url='http://exampleURL/exampleFile.pdf'

認証を使用する

PDFから画像を抽出するためにユーザー名とパスワードが必要な独自のJPedalマイクロサービスをデプロイした場合は、各変換でそれらを提供する必要があります。これらは、以下のようにconvertメソッドにauthという名前の変数を渡すことで提供されます。

auth=('username', 'password'))

詳細情報

GitHubのIDRCloudClient
PypiのIDRCloudClient
JPedalマイクロサービスAPI
JPedalマイクロサービスの使用