Google 脚本 - 读取 PDF 文件,识别为 text/html

Google Script - Read PDF file, recognised as text/html

你知道如何阅读 MIME 类型为 text/html 的 PDF 文件吗?

我已经尝试了下面的代码片段,但 OCR 不起作用,导致了这个问题 "API 调用 drive.files.insert 失败并出现错误:OCR 不支持text/html"

类型的文件
function extractTextFromPDF(pdfID) {
      // PDF File URL
      // You can also pull PDFs from Google Drive
      var url =  "https://drive.google.com/file/d/"+pdfID
      var blob = UrlFetchApp.fetch(url).getBlob();
      var resource = {
        title: blob.getName(),
        mimeType: blob.getContentType(),
      };
    
      // Enable the Advanced Drive API Service
      var file = Drive.Files.insert(resource, blob, { ocr: true, ocrLanguage: 'en' });
    
      // Extract Text from PDF file
      var doc = DocumentApp.openById(file.id);
      var text = doc.getBody().getText();
    
      return text;
    }

此外,我曾尝试将文件转换为任何其他格式,如 .csv .css 或文本,但什么时候转换的文本很糟糕,很长 HTML,我认为内容已加密.我考虑过从提取的 HTML 中拆分数据,但不幸的是,内容不存在或以某种方式加密。

我想做的是打印此有线 pdf 中的文本,以便稍后将其写入 Google 表格。你知道我如何阅读这个文件吗? 文件 我在这里附上了一个 pdf 文件,所以你可以看到我在和什么打架。 https://drive.google.com/file/d/1HXQk6PU9hzBb26EwoFQ0840W6ZihDUIX/view?usp=sharing

我使用了你的示例文件,看看我是怎么做的:

function myFunction() {
  var pdfFile = DriveApp.getFilesByName("222-1522118.pdf").next();
  var blob = pdfFile.getBlob();

  // Get the text from pdf
  var filetext = pdfToText( blob, {keepTextfile: false} );

  console.log(filetext)
}

输出:

我使用了 Mogsdad 的库 pdfToText

参考: