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\":\"extractText\",\"type\":\"plainText\"}"
            };

            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\":\"extractText\",\"type\":\"plainText\"}"
};
				
			

設定オプション

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

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

URLによるアップロード

ローカルファイルをアップロードするだけでなく、JPedalマイクロサービスがダウンロードして抽出を行うURLを指定することもできます。そのためには、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