Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

NodeJSを使用してPDFを画像に変換する

目次

  1. はじめに
  2. NodeJSを使用してPDFを画像に変換する方法
  3. 結果をコールバックURLに返す
  4. 完全なコード例
  5. 設定オプション
  6. URLによるアップロード
  7. 認証の使用
  8. 詳細情報

はじめに

以下のチュートリアルでは、ホストされたJPedalクラウドAPIを使用してPDFを画像に変換する方法を説明します。独自のセルフホスト型JPedalマイクロサービス をセットアップすることもできます。

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

NodeJSを使用してPDFを画像に変換する方法

  1. npmを使用して、以下のコマンドでidrcloudclientパッケージ をインストールします:
npm install --save @idrsolutions/idrcloudclient  
  1. idrcloudclientオブジェクトを作成します
var idrcloudclient = require('@idrsolutions/idrcloudclient');
  1. エンドポイント変数を作成します
var endpoint = 'https://my-self-hosted-service.com/' + idrcloudclient.JPEDAL;
  1. ファイルをアップロードするためのParametersマップを作成します
var parameters =  {
    input: idrcloudclient.UPLOAD,
    file: 'path/to/exampleFile.pdf',
    settings: '{"mode":"convertToImages","format":"png"}'
}
  1. [オプション] 進捗、成功、失敗時にトリガーするリスナーを作成します。
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);
}
  1. 前に作成した変数を使用してconvertメソッドを呼び出します
idrcloudclient.convert({
    endpoint: endpoint,
    parameters: parameters,

    // 以下はオプションのリスナーです。定義していないものは無視してください
    progress: progressListener,
    success: successListener,
    failure: failureListener
});

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

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

var parameters =  {
    input: idrcloudclient.UPLOAD,
    callbackUrl: 'http://listener.url',
    file: 'path/to/exampleFile.pdf',
    settings: '{"mode":"convertToImages","format":"png"}'
}

完全なコード例

上記のセクションの手順に基づいて、PDFを画像に変換する完全なコード例を以下に示します。設定オプションと高度な機能については、以下のセクションで説明します。

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://my-self-hosted-service.com/' + idrcloudclient.JPEDAL;
var parameters =  { 
    input: idrcloudclient.UPLOAD,
    file: 'path/to/exampleFile.pdf',
    settings: '{"mode":"convertToImages","format":"png"}'
 }

idrcloudclient.convert({
    endpoint: endpoint,
    parameters: parameters,
    
    // 以下は利用可能なリスナーです
    progress: progressListener,
    success: successListener,
    failure: failureListener
});

設定オプション

JPedal APIは、変換をカスタマイズするためのキーと値のペアの設定オプションを含む文字列化されたJSONオブジェクトを受け付けます。設定はparameters配列に追加する必要があります。PDFを画像に変換するための設定オプションの完全なリストはこちら で確認できます。

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

URLによるアップロード

ローカルファイルをアップロードするだけでなく、JPedalマイクロサービスがダウンロードして変換を実行するURLを指定することもできます。これを行うには、parameters変数のinputとfileの値を以下のように置き換える必要があります。

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

認証の使用

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

username: 'username',
password: 'password',

詳細情報

GitHubのIDRCloudClient
NPMのIDRCloudClient
JPedalマイクロサービスAPI
JPedalマイクロサービスの使用方法