fbpx
印刷

Pythonを使ってBuildVu Microserviceにアクセスする

はじめに

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

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

前提条件

pipを使用して、以下のコマンドでIDRCloudClientパッケージをインストールします:

				
					pip install IDRCloudClient
				
			

サンプルコード

PDFファイルをHTMLやSVGに変換する基本的なコード例です。設定オプションと詳細機能は下記にあります。

				
					from IDRSolutions import IDRCloudClient

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

try:
    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'
    )
    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へ結果を返す

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