< 戻る
印刷

Rubyを使ってPDFを画像に変換

はじめに

以下のチュートリアルでは、ホスティングされたJPedalクラウドAPIを使ってPDFから画像に変換する方法を紹介します。セルフホスト型のJPedalマイクロサービスをセットアップすることもできます。

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

前提条件

プロジェクトでIDRCloudClientを使用するには、2つのアプローチがあります。

gemを使用して、次のコマンドでidr_cloud_client gemをインストールします:

gem install idr_cloud_client

または、アプリケーションのgemファイルに “gem ‘idr_cloud_client'”という行を追加し、以下のコマンドを実行することもできます。

bundle install

サンプルコード

以下はPDFを画像に変換する基本的なコード例です。設定オプションと高度な機能は下記にあります。

require 'idr_cloud_client'

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

result = client.convert(
    input: IDRCloudClient::UPLOAD,
    file: 'path/to/exampleFile.pdf',
    settings: '{"mode":"convertToImages","format":"png"}')

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

puts 'Download URL: ' + result['downloadUrl']

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

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

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

設定オプション

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

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

URLによるアップロード

ローカルファイルをアップロードするだけでなく、JPedal Microserviceがダウンロードして変換を実行するURLを提供することもできます。そのためには、parameters変数のinputとfileの値を以下のように置き換えてください。

["input"] = IDRCloudClient.DOWNLOAD
["url"] = "http://exampleURL/exampleFile.pdf"

認証の使用

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

auth:('username', 'password'))
MENU
PAGE TOP