Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PHPを使用してPDFからテキストを抽出する

目次

  1. はじめに
  2. 前提条件
  3. コード例
  4. コールバックURLに結果を返す
  5. 設定オプション
  6. URLによるアップロード
  7. 認証の使用
  8. 詳細情報

はじめに

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

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

前提条件

composerを使用して、以下のコマンドでidrsolutions-php-clientパッケージ をインストールしてください。

composer require idrsolutions/idrsolutions-php-client

コード例

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

<?php

require_once __DIR__ . "/PATH/TO/vendor/autoload.php";

use IDRsolutions\IDRCloudClient;

$endpoint = "https://my-self-hosted-service.com/" . IDRCloudClient::INPUT_JPEDAL;  
$parameters = array(
    'input' => IDRCloudClient::INPUT_UPLOAD,
    'file' => __DIR__ . 'path/to/file.pdf',
    'settings' => '{"mode":"extractText","type":"plainText"}'
);

$results = IDRCloudClient::convert(array(
    'endpoint' => $endpoint,
    'parameters' => $parameters
));

IDRCloudClient::downloadOutput($results, __DIR__ . '/');

echo $results['downloadUrl'];

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

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

$parameters = array(
    'input' => IDRCloudClient::INPUT_UPLOAD,
    'callbackUrl' => 'http://listener.url',
    'file' => __DIR__ . 'path/to/file.pdf',
    'settings' => '{"mode":"extractText","type":"plainText"}'
);

設定オプション

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

'settings' => '{"key":"value","key":"value"}'

URLによるアップロード

ローカルファイルをアップロードする代わりに、JPedalマイクロサービスがダウンロードして抽出を実行するURLを指定することもできます。これを行うには、parameters配列のinputとfileの値を以下のように置き換える必要があります。

'input' => IDRCloudClient.DOWNLOAD
'url' => 'http://exampleURL/exampleFile.pdf'

認証の使用

PDFからテキストを抽出するためにユーザー名とパスワードが必要な独自のJPedalマイクロサービスをデプロイした場合、各変換時にそれらを提供する必要があります。これらは以下のように、usernameとpasswordという名前の2つの変数をparameters配列に追加することで提供されます。

'username' => 'Username_If_Required',
'password' => 'Password_If_Required',

この場合、downloadOutputメソッドにも認証値を提供する必要があります。

IDRCloudClient::downloadOutput($results, __DIR__ . '/','newFileName','username','password');

詳細情報

GitHub上のIDRCloudClient
Packagist上のIDRCloudClient
JPedalマイクロサービスAPI
JPedalマイクロサービスの使用方法