JavaScriptを使用してPDFを画像に変換する
このチュートリアルでは、ホストされたJPedalクラウドAPIを使用してPDFを画像に変換する方法を説明します。独自のセルフホスト型JPedalマイクロサービス をセットアップすることもできます。
上記のサービスは通常のHTTPリクエストでアクセスできますが、このチュートリアルではオープンソースのJavascript IDRCloudClient を使用します。これはREST API のシンプルなJavaScriptラッパーを提供します。
プロジェクトにクライアントを追加するには、idrcloudclient.jsファイルをプロジェクトに追加し、次の行を含めてアクセスする必要があります。
<script src="path/to/idrcloudclient.js" type="text/javascript"></script>
以下は、PDFを画像に変換する基本的なコード例です。設定オプションと高度な機能については、以下を参照してください。
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"}'
}
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);
}
IDRCloudClient.convert({
endpoint: endpoint,
parameters: parameters,
// 以下は利用可能なリスナーです
progress: progressListener,
success: successListener,
failure: failureListener
});
JavaScriptクライアントを使用した例はこちら で見つけることができます。
JPedalマイクロサービスは、変換完了時にそのステータス
を送信するコールバックURLを受け付けます。コールバックURLを使用すると、変換が完了したかどうかを判断するためにサービスをポーリングする必要がなくなります。
コールバックURLは、以下に示すようにparameters変数に提供できます。
var parameters = {
input: IDRCloudClient.UPLOAD,
callbackUrl: 'http://listener.url',
file: 'path/to/exampleFile.pdf',
settings: '{"mode":"convertToImages","format":"png"}'
}
JPedal APIは、変換をカスタマイズするためのキーと値のペアの設定オプションを含む文字列化されたJSONオブジェクトを受け付けます。設定はparameters配列に追加する必要があります。PDFを画像に変換するための設定オプションの完全なリストはこちら で見つけることができます。
settings: '{"key":"value","key":"value"}'
ローカルファイルをアップロードするだけでなく、JPedalマイクロサービスがダウンロードして変換を実行するURLを提供することもできます。これを行うには、parameters変数のinputとfileの値を以下のように置き換える必要があります。
input: IDRCloudClient.DOWNLOAD
url: 'http://exampleURL/exampleFile.pdf'
PDFを画像に変換するためにユーザー名とパスワードが必要な独自のJPedalマイクロサービスをデプロイした場合、各変換でそれらを提供する必要があります。これらは、以下に示すように、usernameとpasswordという名前の2つの変数をconvertメソッドに渡すことで提供されます。
username: 'username',
password: 'password',
GitHub上のIDRCloudClient
IDRCloudClientオンライン例
JPedalマイクロサービスAPI
JPedalマイクロサービスの使用
