fbpx
< 戻る
印刷

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);
        }
    }
}
				
			

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

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

				
					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オブジェクトを受け付けます。この設定は、cURLコマンドのURLの前に追加する必要があります。PDFを画像に変換するための設定オプションの完全なリストはこちらからご覧いただけます。

				
					["settings"] = "{\"key\":\"value\",\"key\":\"value\"}"
				
			

URLによるアップロード

ローカルファイルをアップロードするだけでなく、JPedal Microserviceがダウンロードして変換を実行するURLを提供することもできます。そのためには、parameters変数のinputとfileの値を以下のように置き換えてください。

				
					["input"] = IDRCloudClient.DOWNLOAD
["url"] = "http://exampleURL/exampleFile.pdf"
				
			

認証の使用

PDFを画像に変換するためにユーザ名とパスワードを必要とする独自のJPedalマイクロサービスをデプロイする場合、変換のたびにユーザ名とパスワードを提供する必要があります。これらは、URLの前にユーザ名とパスワードを持つユーザフラグを追加することで提供されます。

				
					var client = new IDRCloudClient("http://exampleURL.com/" + IDRCloudClient.JPEDAL, "username", "password");

				
			
    MENU
    PAGE TOP