使用 PHP 从 PDF 中提取文字

 原文:提取PDF文本

 

步骤 1:获取并访问 PHP PDF API 的许可证

对于 ComPDFKit API 用户,我们提供 1000 个免费 PDF API 请求。请按照以下步骤访问许可证并开始您的 API 请求。

 

  1. 注册ComPDFKit API 以转到仪表板。您将在仪表板上看到 API 密钥、API 计划的进度以及 API 请求的状态。

 

2. 创建一个项目并获取公钥和密钥。

创建帐户后,将创建一个默认项目。您可以创建更多项目来调用 ComPDFKit API。每个项目都有唯一的公钥和密钥。请记住为相应的项目应用正确的密钥。

 

 

 

步骤2:用于 PDF 文本提取的身份验证 PDF API

需要替换真实的publicKey和secretKey,获取accessToken,然后使用accessToken创建任务,上传文件,提取PDF文字,获取提取出来的PDF文本JSON文件。

 

用于验证 ComPDFKit PDF 文本提取 API 的 PHP 代码示例:

<span style="<span style="color:white"><code>$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";</code></span></span>

 

步骤3:创建任务 - 提取PDF文本

您需要替换上一步获取到的accessToken 。设置显示错误信息的语言类型(1,英文,2,中文)。ComPDFKit PDF API参数可以在快速入门-->请求说明页面找到。

 

替换它们之后,您将在响应数据中获得taskId。创建PDF文本提取任务的PHP代码示例:

<span style="<span style="color:white"><code>$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'];</code></span></span>

  

步骤4:上传文件至PDF解析器

替换PHP代码中的信息:

  • PDF 文件:您想要从中提取文本的 PDF。

  • taskId:在任务创建步骤中获取。

  • 语言:您想要显示错误信息的语言。

  • accessToken:在身份验证步骤中获取。

ComPDFKit API 提供 AI、OCR 等。您也可以在此步骤输入参数:

  • 上传 PDF 进行解析的 PHP 代码示例:

    <span style="<span style="color:white"><code>$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'];</code></span></span>

     

    步骤5:处理并提取上传的PDF文件中的文本

    执行任务,从您上传的 PDF 中提取单词。以下是 PHP 代码示例:

    <span style="<span style="color:white"><code>$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);</code></span></span>
    

      

    步骤6:获取PDF文本提取任务信息

    按照下面的 PHP 代码示例获取任务信息。替换所需的信息,如taskIdaccess_token。PDF PDF 解析器和提取的结果文件以 JSON 文件的形式呈现,这是一种结构化的数据格式,有利于重复使用 PDF 文本提取。

    <span style="<span style="color:white"><code>$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);</code></span></span>
    

      


posted @ 2024-11-26 15:51  ComPDFKit  阅读(13)  评论(0编辑  收藏  举报