< 戻る
印刷

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 <a href="https://www.nuget.org/packages/idrsolutions-csharp-client/" target="_blank" title="Package Description" hreflang="en">idrsolutions-csharp-client</a>;

class ExampleUsage
{
    static void Main(string[] args)
    {
        
        var client = new IDRCloudClient("https://my-self-hosted-service.com/" + IDRCloudClient.<a href="https://www.intwk.co.jp/jpedal/" title="PDFドキュメントを扱う必要のあるJava開発者のためのPDFライブラリです。このライブラリは、PDFファイルを扱う際の一般的な問題を解決します。" hreflang="ja" onover-preload="1">JPEDAL</a>);

        try
        {
            Dictionary<string string> parameters = new Dictionary<string string>
            { 
                ["input"] = IDRCloudClient.UPLOAD,
                ["file"] = "<a href="https://pub.dev/packages/path" target="_blank" title="A string-based path manipulation library. All of the path operations you know and love, with solid support for Windows, POSIX (Linux and Mac OS X), and the web." hreflang="en-us">path</a>/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);
        }
    }
}</string></string></string>
				
			

結果をコールバック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\"}"
};</string></string>
				
			

設定オプション

JPedal APIは、抽出をカスタマイズするためのキーと値のペアの設定オプションを含む文字列化されたJSONオブジェクトを受け付けます。この設定は、cURLコマンドのURLの前に追加する必要があります。PDFを画像に変換するための設定オプションの完全なリストはこちらからご覧いただけます。

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

URLによるアップロード

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

				
					["input"] = IDRCloudClient.DOWNLOAD
["url"] = "<a href="https://pub.dev/packages/http" target="_blank" title="A composable, multi-platform, Future-based API for HTTP requests." hreflang="en-us">http</a>://exampleURL/exampleFile.pdf"
				
			

認証の使用

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

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

				
			
MENU