(while reading XRef): Error: Invalid XRef stream header?

(while reading XRef): Error: Invalid XRef stream header?

您好,我正在尝试在节点 js 中阅读 pdf。当我尝试阅读 this pdf 时。它开始显示此错误。

(while reading XRef): Error: Invalid XRef stream header
Error: Error: Invalid XRef stream header
    at error (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:195:9)
    at XRef_readXRef [as readXRef] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:5692:9)
    at XRef_parse [as parse] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:5280:28)
    at PDFDocument_setup [as setup] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:4622:17)
    at PDFDocument_parse [as parse] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:4506:12)
    at LocalPdfManager_ensure [as ensure] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:32515:24)
    at LocalPdfManager.BasePdfManager_ensureModel [as ensureModel] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:32451:19)
    at Object.eval [as onResolve] (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:27142:22)
    at Object.runHandlers (eval at <anonymous> (/home/satyaarth/Desktop/react/baby/node_modules/pdf2json/lib/pdf.js:62:1), <anonymous>:864:35)
    at listOnTimeout (internal/timers.js:557:17)
Error: Invalid XRef stream header
error: { parserError: 'Error: Invalid XRef stream header' }

这也是我的代码

import { PdfReader } from "pdfreader";

new PdfReader().parseFileItems("./GeM-Bidding-3342395.pdf", (err, item) => {
  if (err) console.error("error:", err);
  else if (!item) console.warn("end of file");
  else if (item.text) console.log(item.text);
});

但是当我尝试使用在线解析器解析相同的 pdf 时,pdf 被解析并且 here 是它的一个示例。如果不是这样,我还想知道如何使用 api 或其他方法提取数据。

从任何 OS 控制台系统 (Linux Mac Windows) 解析 PDF 的最简单方法是使用任一实用程序命令 pdftotext - Xpdf or Poppler (generally 64 bit) Windows binary here

要将两个页面导出到控制台,请使用 pdftotext -nopgbrk -f 1 -l 2 GeM-Bidding-3342395.pdf - 要保存在文件中,请使用文件名代替 - 或通过管道传输到另一个命令

输出顺序可能因选项而异,因此上面没有 mod 的内容如下所示:-

但是,如果我在 poppler 版本中添加 -layout,它会更像这样:-

而且Xpdf版本还有-table-simple -simple2等其他选项,所以您需要选择最适合您的选项。