Javascript PDFJS:无效的PDF结构

Javascript PDFJS:无效的PDF结构,javascript,pdf,pdf.js,Javascript,Pdf,Pdf.js,我正试图使用pdf.js从pdf文档中提取纯文本,由于某种原因,我无法通过无效的pdf结构错误 我的代码如下: const pdfjslib = require('pdfjs-dist'); const pdfPath = 'https://www.corenet.gov.sg/media/2268607/dc19-07.pdf' var loadingTask = pdfjslib.getDocument(pdfPath); loadingTask.promise.then(async (

我正试图使用
pdf.js
从pdf文档中提取纯文本,由于某种原因,我无法通过
无效的pdf结构
错误

我的代码如下:

const pdfjslib = require('pdfjs-dist');

const pdfPath = 'https://www.corenet.gov.sg/media/2268607/dc19-07.pdf'

var loadingTask = pdfjslib.getDocument(pdfPath);
loadingTask.promise.then(async (doc) => {
    console.log(doc);
    return null
})
.catch((err)=>{
    console.log(err)
});
我尝试了来自同一域的其他pdf文档,但都抛出了相同的错误:

...
Warning: Ignoring invalid character "34" in hex string
Warning: Ignoring invalid character "104" in hex string
Warning: Indexing all PDF objects
{ Error
    at InvalidPDFExceptionClosure (.../pdf_test/node_modules/pdfjs-dist/build/pdf.js:658:35)
    at Object.<anonymous> (...pdf_test/node_modules/pdfjs-dist/build/pdf.js:661:2)
    at __w_pdfjs_require__ (.../pdf_test/node_modules/pdfjs-dist/build/pdf.js:52:30)
    at Object.defineProperty.value (...pdf_test/node_modules/pdfjs-dist/build/pdf.js:129:23)
    at __w_pdfjs_require__ (.../pdf_test/node_modules/pdfjs-dist/build/pdf.js:52:30)
    at pdfjsVersion (...pdf_test/node_modules/pdfjs-dist/build/pdf.js:116:18)
    at .../pdf_test/node_modules/pdfjs-dist/build/pdf.js:119:10
    at webpackUniversalModuleDefinition (.../pdf_test/node_modules/pdfjs-dist/build/pdf.js:25:20)
    at Object.<anonymous> (.../pdf_test/node_modules/pdfjs-dist/build/pdf.js:32:3)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
  name: 'InvalidPDFException',
  message: 'Invalid PDF structure' }
。。。
警告:忽略十六进制字符串中的无效字符“34”
警告:忽略十六进制字符串中的无效字符“104”
警告:索引所有PDF对象
{错误
在InvalidPDExceptionClosure(…/pdf_test/node_modules/pdfjs dist/build/pdf.js:658:35)
在对象上。(…pdf_test/node_modules/pdfjs dist/build/pdf.js:661:2)
在uuu w_pdfjs_uuurequire_uuuuuu(…/pdf\u test/node\u modules/pdfjs dist/build/pdf.js:52:30)
在Object.defineProperty.value(…pdf_test/node_modules/pdfjs dist/build/pdf.js:129:23)
在uuu w_pdfjs_uuurequire_uuuuuu(…/pdf\u test/node\u modules/pdfjs dist/build/pdf.js:52:30)
在pdfjsVersion(…pdf_test/node_modules/pdfjs dist/build/pdf.js:116:18)
在…/pdf\u test/node\u modules/pdfjs dist/build/pdf.js:119:10
在webpackUniversalModuleDefinition(…/pdf_test/node_modules/pdfjs dist/build/pdf.js:25:20)
在对象上。(…/pdf\u test/node\u modules/pdfjs dist/build/pdf.js:32:3)
at模块编译(内部/modules/cjs/loader.js:776:30)
名称:“InvalidPDException”,
消息:“无效的PDF结构”}

来自其他领域的其他PDF似乎可以工作。请注意,从上述域下载pdf效果良好,可以在Chrome浏览器上查看。我怀疑pdf文档是否已损坏。我没有实现任何前端代码,因为上面代码的目的是将其托管在云上。

此答案有一个用于提取数据的替代脚本,您可以尝试使用它-可能是您下载PDF的网站会检查请求标题。你能用chrome下载PDF并在本地加载吗?@Cr4xy是的,我可以下载PDF并在本地加载。它正确加载和提取纯文本。如果请求标题是“问题”,你知道我如何在不下载pdf的情况下绕过它吗?你可以尝试用chrome开发工具复制你能找到的所有标题,并将它们添加到getDocument中,比如@Cr4xy我尝试复制所有标题并将它们添加到
httpHeaders
。然而,要使其正常工作,需要添加的关键标题似乎是
cookies
标题。这是预期的吗?