fbpx
< 戻る
印刷

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

目次

はじめに

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

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

前提条件

pipを使用して、以下のコマンドでIDRCloudClientパッケージをインストールします:

				
					pip install IDRCloudClient
				
			

サンプルコード

以下はPDFからテキストを抽出する基本的なコード例です。設定オプションと高度な機能は以下にあります。

				
					from IDRSolutions import IDRCloudClient

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

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

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

    if outputURL is not None:
        print("Download URL: " + outputURL)

except Exception as error:
    print(error)
				
			

結果をコールバック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の値を以下のように置き換えてください。

				
					-F input=download -F url="http://exampleURL/exampleFile.pdf"

				
			

認証の使用

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

				
					--user username:password
				
			
    MENU
    PAGE TOP