fbpx
< 戻る
印刷

Rubyを使ってPDFからテキストを抽出する

目次

はじめに

以下のチュートリアルでは、ホスティングされたJPedalクラウドAPIを使ってPDFからテキストを抽出する方法を紹介します。セルフホスト型のJPedalマイクロサービスをセットアップすることもできます。

上記のサービスは古いHTTPリクエストでアクセスできますが、このチュートリアルでは、オープンソースのRuby IDRCloudClientを使用し、REST APIのシンプルなRubyラッパーを提供します。

前提条件

プロジェクトでIDRCloudClientを使用するには、2つのアプローチがあります。

gemを使用して、次のコマンドでidr_cloud_client gemをインストールします:

				
					gem install idr_cloud_client
				
			

または、アプリケーションのgemfileに “gem ‘idr_cloud_client'”という行を追加し、以下のコマンドを実行することもできます。

				
					bundle install
				
			

サンプルコード

PDFからテキストを抽出する基本的なコード例です。
設定オプションや高度な機能については以下をご覧ください。

				
					require 'idr_cloud_client'

client = IDRCloudClient.new('https://my-self-hosted-service.com/' + IDRCloudClient::JPEDAL)

result = client.convert(
    input: IDRCloudClient::UPLOAD, 
    file: 'path/to/exampleFile.pdf',
    , 
    settings: '{"mode":"extractText","type":"plainText"}')

client.download_result(result, 'path/to/output/dir')

puts 'Download URL: ' + result['downloadUrl']
				
			

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

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

				
					result = client.convert(
    input: IDRCloudClient::UPLOAD,
    callbackUrl: 'http://listener.url',
    file: 'path/to/exampleFile.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の前にユーザ名とパスワードを持つユーザフラグを追加することで提供されます。

				
					auth:('username', 'password'))
				
			
    MENU
    PAGE TOP