You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OCR转换PDF为Google Doc时手动设置页码范围?

解决方案:指定PDF页码范围进行OCR转换

要实现手动设置页码范围的PDF转Google Doc(带OCR),核心思路是先导出PDF的指定页码片段,再对这个片段进行OCR转换。以下是修改后的代码:

修改后的完整代码

function extractPdfData(){
  const ss = SpreadsheetApp.getActiveSpreadsheet()
  //Get all PDF files:
  const folder = DriveApp.getFolderById(FOLDER_ID);
  const files = folder.getFilesByType("application/pdf");
  
  // 示例:转换每个PDF的第2到第5页,可根据需求调整页码范围
  const startPage = 2;
  const endPage = 5;
  
  while(files.hasNext()){
    let file = files.next();
    let fileID = file.getId();
    
    const doc = getTextFromPDF(fileID, startPage, endPage);
    const data= extractSpecifics(doc.text);
  }
}

function getTextFromPDF(fileID, startPage, endPage) {
  // 导出指定页码范围的PDF片段
  const exportUrl = `https://www.googleapis.com/drive/v3/files/${fileID}/export?mimeType=application/pdf&pageRange=${startPage}-${endPage}`;
  const options = {
    headers: {
      'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
    }
  };
  const response = UrlFetchApp.fetch(exportUrl, options);
  var blob = response.getBlob().setName(`[Pages ${startPage}-${endPage}] ${DriveApp.getFileById(fileID).getName()}`);
  
  var resource = {
    title: blob.getName(),
    mimeType: blob.getContentType()
  };
  var ocrOptions = {
    ocr: true,
    ocrLanguage: "en"
  };
  // 将指定页码的PDF片段转换为带OCR的Google Doc
  var file = Drive.Files.insert(resource, blob, ocrOptions);
 
  var doc = DocumentApp.openById(file.id);
  var text = doc.getBody().getText();
  var title = doc.getName();
  
  // 删除临时生成的Google Doc
  Drive.Files.remove(doc.getId());
  
  return {
    name: title,
    text: text
  };
}

关键修改说明

  • 为getTextFromPDF新增startPage和endPage参数,用于接收需要转换的页码范围
  • 通过UrlFetchApp调用Drive API的导出接口,指定pageRange参数获取目标页码的PDF片段
  • 用这个PDF片段替代原完整PDF进行OCR转换,避免处理不必要的页码
  • 在extractPdfData中可直接定义startPage和endPage的值,按需调整范围

注意:确保你的脚本已启用Drive API(在脚本编辑器的「资源」>「高级Google服务」中开启Drive API)。

内容的提问来源于stack exchange,提问作者Francesco Russo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:18:12