fbpx
印刷

Rubyを使ってBuildVuマイクロサービスにアクセスする

はじめに

以下のチュートリアルでは、ホストされたBuildVuクラウドAPIを使ってPDFファイルをHTMLやSVGに変換する方法を紹介します:

上記のサービスはすべて、通常の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ファイルをHTMLやSVGに変換する基本的なコード例です。設定オプションと詳細機能は下記にあります。

				
					require 'idr_cloud_client'

client = IDRCloudClient.new('https://cloud.idrsolutions.com/cloud/' + IDRCloudClient::BUILDVU)

result = client.convert(
    # token='Token', # Required only when connecting to the IDRsolutions trial and cloud subscription service
    input: IDRCloudClient::UPLOAD, 
    file: 'path/to/exampleFile.pdf')

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

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

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

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

				
					result = client.convert(
    # token='Token', # Required only when connecting to the IDRsolutions trial and cloud subscription service
    input: IDRCloudClient::UPLOAD,
    file: 'path/to/exampleFile.pdf',
    callbackUrl: 'http://listener.url')
				
			

設定オプション

BuildVu APIは、変換をカスタマイズするためのキーバリューペア設定オプションを含む文字列化されたJSONオブジェクトを受け付けます。この設定はconvertメソッドに与える必要があります。PDFファイルをHTMLまたはSVGに変換するための設定オプションの完全なリストはこちらをご覧ください。

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

URLによるアップロード

ローカルファイルをアップロードするだけでなく、BuildVu Microserviceがダウンロードして変換を実行するURLを指定することもできます。これを行うには、convertメソッドのinputとfileの値を以下のように置き換えます。

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

認証を使用する

PDFファイルをHTMLまたはSVGに変換するためにユーザー名とパスワードを必要とする独自のBuildVu Microserviceをデプロイした場合、変換のたびにユーザー名とパスワードを提供する必要があります。これらは、以下のようにconvertメソッドにauthという変数を渡すことで提供されます。

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