0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHP を使用して PDF から単語を抽出する方法

Posted at

ステップ1: PHP PDF APIのライセンスを取得してアクセスする

オリジナル: Extract text from PDF

ComPDFKit API ユーザーには、1000 件の PDF API リクエストを無料で提供しています。ライセンスにアクセスして API リクエストを開始するには、以下の手順に従ってください。

  1. ダッシュボードに移動するには、ComPDFKit APIを登録します。ダッシュボードには、API キー、API プランの進行状況、API リクエストのステータスが表示されます。

  2. プロジェクトを作成し、公開キーと秘密キーを取得します。

アカウントが作成されると、デフォルトのプロジェクトが作成されます。ComPDFKit API を呼び出すために、さらにプロジェクトを作成できます。サポートされているすべての PDF API は、ドキュメント ページで確認できます。

各プロジェクトには固有の公開キーと秘密キーがあります。対応するプロジェクトに適切なキーを適用することを忘れないでください。

ステップ2: PDFテキスト抽出のための認証PDF API

accessToken を取得するには、実際の publicKey と secretKey を置き換える必要があります。次に、accessToken を使用してタスクを作成し、ファイルをアップロードし、PDF の単語を抽出し、抽出された PDF テキスト JSON ファイルを取得します。

ComPDFKit PDF テキスト抽出 API を認証するための PHP コード例:

$params = [
    'publicKey' => $publicKey,
    'secretKey' => $secretKey
];
$headers = ['Content-Type: application/json'];
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api-server.compdf.com/server/v1/oauth/token',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => json_encode($params)
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
$accessToken = $result['data']['accessToken'];
$bearerToken = "Bearer $accessToken";

ステップ3: タスクの作成 - PDFテキストの抽出

前の手順で取得したaccessTokenを置き換える必要があります。エラー情報を表示する言語タイプを設定します (1、英語、2、中国語)。ComPDFKit PDF API パラメータは、クイック スタート-->リクエストの説明ページにあります。

これらを置き換えると、応答データにtaskId が取得されます。PDF テキスト抽出タスクを作成する PHP コード例:

$headers = [
    'Content-Type: application/json',
    'Authorization: ' . $bearerToken
];
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api-server.compdf.com/server/v1/task/pdf/json?language=' . $language,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
$taskId = $result['data']['taskId'];

ステップ4: PDFパーサー用のファイルをアップロードする

PHP コード内の情報を置き換えます。

  • PDF ファイル: テキストを抽出する PDF。
  • taskId : タスク作成ステップで取得されます。
  • 言語: エラー情報を表示する言語。
  • accessToken : 認証手順で取得されます。

ComPDFKit API は AI、OCR などを提供します。この手順でパラメータを入力することもできます。

  • type:抽出する内容のオプション(0:テキスト、1:表)デフォルトは0。
  • isAllowOcr : OCR を開くことを許可するかどうか (1: はい、0: いいえ)、デフォルトは 0。
  • isOnlyAiTable : AI がテーブルを認識できるようにするかどうか (1: はい、0: いいえ) デフォルトは 0。

PDF を解析用にアップロードするための PHP コード例:

$params = [
    'taskId' => $taskId, // ID of your task
    'file' => new CURLFile($pdfPath), // Files you need to process
    'language' => $language,
    'password' => '',
    'parameter' => json_encode(['type' => 1, 'isAllowOcr' => 1, 'isContainOcrBg' => 0])
];
$headers = [
    'Authorization: ' . $bearerToken
];
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api-server.compdf.com/server/v1/file/upload',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $params
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
$fileKey = $result['data']['fileKey'];

ステップ5: アップロードされたPDFファイルからテキストを処理および抽出する

アップロードした PDF から単語を抽出するには、タスクを実行します。PHP コードの例は次のとおりです。

$headers = [
    'Content-Type: application/json',
    'Authorization: ' . $bearerToken
];
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api-server.compdf.com/server/v1/execute/start?language=' . $language . '&taskId=' . $taskId,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($curl);
curl_close($curl);

#3 ステップ6: PDFテキスト抽出のタスク情報を取得する

タスク情報を取得するには、以下の PHP コード例に従ってください。taskIdやaccess_tokenなどの必要な情報を置き換えます。 PDF PDF パーサーと抽出された結果ファイルは、PDF テキスト抽出の再利用に役立つ構造化データ形式である JSON ファイルで提供されます。

$headers = [
    'Content-Type: application/json',
    'Authorization: ' . $bearerToken
];

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api-server.compdf.com/server/v1/task/taskInfo' . '?taskId=' . $taskId,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?