NodeJSを使用してBuildVuマイクロサービスにアクセスする
以下のチュートリアルでは、ホストされたBuildVuクラウドAPIを使用してPDFファイルをHTMLまたはSVGに変換する方法を説明します。対象となるサービスは次のとおりです:
- IDRsolutionsのトライアルおよびクラウドサブスクリプションサービス
- 独自のセルフホスト型BuildVuマイクロサービス
上記のサービスには通常のHTTPリクエストでアクセスできますが、このチュートリアルでは、REST API をシンプルにラップしたオープンソースのNodeJS IDRCloudClient を使用します。
- npmを使用して、以下のコマンドでidrcloudclientパッケージ をインストールします:
npm install --save @idrsolutions/idrcloudclient
- idrcloudclientオブジェクトを作成します
var idrcloudclient = require('@idrsolutions/idrcloudclient');
- エンドポイント変数を作成します
var endpoint = 'https://cloud.idrsolutions.com/cloud/' + idrcloudclient.BUILDVU;
- ファイルをアップロードするためのパラメータマップを作成します
var parameters = {
//token: 'Token', //IDRsolutionsのトライアルおよびクラウドサブスクリプションサービスに接続する場合のみ必要
input: idrcloudclient.UPLOAD,
file: 'path/to/exampleFile.pdf'
}
- [オプション] 進捗、成功、失敗時にトリガーされるリスナーを作成します。
function progressListener(e) {
console.log(JSON.stringify(e));
}
function failureListener(e) {
console.log(e);
console.log('Failed!');
}
function successListener(e) {
console.log(JSON.stringify(e));
console.log('Download URL: ' + e.downloadUrl);
}
- 先ほど作成した変数を使用してconvertメソッドを呼び出します
idrcloudclient.convert({
endpoint: endpoint,
parameters: parameters,
// 以下はオプションのリスナーです。定義していないものは無視してください
progress: progressListener,
success: successListener,
failure: failureListener
});
BuildVuマイクロサービスは、変換完了時に変換のステータス
を送信するためのコールバックURLを受け付けます。コールバックURLを使用することで、変換が完了したかどうかを判断するためにサービスをポーリングする必要がなくなります。
コールバックURLは、以下のようにparameters変数に指定できます。
var parameters = {
//token: 'Token', //IDRsolutionsのトライアルおよびクラウドサブスクリプションサービスに接続する場合のみ必要
input: idrcloudclient.UPLOAD,
callbackUrl: 'http://listener.url',
file: 'path/to/exampleFile.pdf'
}
以下は、上記のセクションの手順に基づいてPDFファイルをHTMLまたはSVGに変換するための完全なコード例です。設定オプションと高度な機能については、以降のセクションをご覧ください。
var idrcloudclient = require('@idrsolutions/idrcloudclient');
function progressListener(e) {
console.log(JSON.stringify(e));
}
function failureListener(e) {
console.log(e);
console.log('Failed!');
}
function successListener(e) {
console.log(JSON.stringify(e));
console.log('Download URL: ' + e.downloadUrl);
}
var endpoint = 'https://cloud.idrsolutions.com/cloud/' + idrcloudclient.BUILDVU;
var parameters = {
//token: 'Token', //IDRsolutionsのトライアルおよびクラウドサブスクリプションサービスに接続する場合のみ必要
input: idrcloudclient.UPLOAD,
file: 'path/to/exampleFile.pdf'
}
idrcloudclient.convert({
endpoint: endpoint,
parameters: parameters,
// 以下は利用可能なリスナーです
progress: progressListener,
success: successListener,
failure: failureListener
});
BuildVu APIは、変換をカスタマイズするためのキーと値のペアの設定オプションを含む文字列化されたJSONオブジェクトを受け付けます。設定はparameters配列に追加する必要があります。PDFファイルをHTMLまたはSVGに変換するための設定オプションの完全なリストはこちら をご覧ください。
settings: '{"key":"value","key":"value"}'
ローカルファイルをアップロードするだけでなく、BuildVuマイクロサービスがダウンロードして変換を実行するURLを指定することもできます。これを行うには、parameters変数内のinputとfileの値を以下のように置き換えます。
input: IDRCloudClient.DOWNLOAD
url: 'http://exampleURL/exampleFile.pdf'
PDFファイルをHTMLまたはSVGに変換するためにユーザー名とパスワードを必要とする独自のBuildVuマイクロサービスをデプロイしている場合は、各変換時にそれらを提供する必要があります。これらは、以下のようにusernameとpasswordという名前の2つの変数をconvertメソッドに渡すことで提供されます。
username: 'username',
password: 'password',
GitHubのIDRCloudClient
NPMのIDRCloudClient
BuildVuマイクロサービスAPI
BuildVuマイクロサービスの使用
