C#を使用してPDFを画像に変換する
このチュートリアルでは、ホストされたJPedalクラウドAPIを使用してPDFを画像に変換する方法を説明します。独自のセルフホスト型JPedalマイクロサービス をセットアップすることもできます。
上記のサービスは通常のHTTPリクエストでアクセスできますが、このチュートリアルではオープンソースのC# IDRCloudClient を使用します。これはREST API のシンプルなC#ラッパーを提供します。
nugetを使用して、次のコマンドでidrsolutions-csharp-clientパッケージ をインストールします:
nuget install idrsolutions-csharp-client
以下は、PDFを画像に変換する基本的なコード例です。設定オプションと高度な機能については以下を参照してください。
using System;
using System.Collections.Generic;
using idrsolutions_csharp_client;
class ExampleUsage
{
static void Main(string[] args)
{
var client = new IDRCloudClient("https://my-self-hosted-service.com/" + IDRCloudClient.JPEDAL);
try
{
Dictionary<string, string> parameters = new Dictionary<string, string>
{
["input"] = IDRCloudClient.UPLOAD,
["file"] = "path/to/input.pdf",
["settings"] = "{\"mode\":\"convertToImages\",\"format\":\"png\"}"
};
Dictionary<string, string> results = client.Convert(parameters);
String outputUrl = results.GetValueOrDefault("downloadUrl", "No download URL provided");
client.DownloadResult(results, "path/to/output/dir");
Console.WriteLine("Converted: " + outputUrl);
}
catch (Exception e)
{
Console.WriteLine("Conversion failed: " + e.Message);
}
}
}
JPedalマイクロサービスは、変換完了時に変換のステータス
を送信するためのコールバックURLを受け付けます。コールバックURLを使用することで、変換が完了したかを判断するためにサービスをポーリングする必要がなくなります。
コールバックURLは、以下のようにconvertメソッドに提供できます。
Dictionary<string, string> parameters = new Dictionary<string, string>
{
["callbackUrl"] = "http://listener.url",
["input"] = IDRCloudClient.UPLOAD,
["file"] = "path/to/input.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メソッドに渡すことで提供されます。
var client = new IDRCloudClient("http://exampleURL.com/" + IDRCloudClient.JPEDAL, "username", "password");
GitHub上のIDRCloudClient
Nuget上のIDRCloudClient
JPedalマイクロサービスAPI
JPedalマイクロサービスの使用方法
