RubyでPDFを画像に変換する
以下のチュートリアルでは、ホストされたJPedalクラウドAPIを使用してPDFを画像に変換する方法を紹介します。独自のセルフホスト型JPedalマイクロサービス をセットアップすることもできます。
上記のサービスは通常のHTTPリクエストでアクセス可能ですが、このチュートリアルではREST API のシンプルなRubyラッパーを提供する、オープンソースのRuby IDRCloudClient を使用します。
プロジェクトでIDRCloudClientを使用するには2つの方法があります。
gemを使用して、以下のコマンドでidr_cloud_client gem をインストールします。
gem install idr_cloud_client
または、アプリケーションのgemfileに「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']
JPedalマイクロサービスは、変換完了時に変換のステータス
を送信するためのコールバックURLを受け付けます。コールバックURLを使用することで、変換が完了したかを確認するためにサービスをポーリングする必要がなくなります。
コールバックURLは以下のようにconvertメソッドに提供できます。
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"}'
ローカルファイルをアップロードする以外に、JPedalマイクロサービスがダウンロードして変換を実行するURLを指定することもできます。これを行うには、convertメソッドのinputとfileの値を以下のように置き換えてください。
input:IDRCloudClient.DOWNLOAD
url:'http://exampleURL/exampleFile.pdf'
PDFを画像に変換する際にユーザー名とパスワードが必要な独自のJPedalマイクロサービスをデプロイしている場合は、各変換時にそれらを提供する必要があります。これらは以下のように、convertメソッドにauthという名前の変数を渡すことで提供されます。
auth:('username', 'password'))
GitHubのIDRCloudClient
RUBYのIDRCloudClient
JPedalマイクロサービスAPI
JPedalマイクロサービスの使用
