问题标签 [pdfjs-dist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
225 浏览

node.js - PDFJS Firebase Cloud Functions:证书已过期

我正在使用 PDFJS 从 pdf 文档中提取纯文本,并使用 Firebase Cloud Functions 安排提取。一切都很好,直到有一天我certificate has expired从选定的 pdf 中获得,主要来自两个域。

我检查了那些受影响的域仍然有有效的 SSL,并且在本地机器上运行纯文本提取代码没有问题。一旦将其部署到 Firebase 云功能,它就会引发certificate has expired错误。

代码:

这是面临上述问题的两个示例pdf。

https://www.nea.gov.sg/docs/default-source/our-services/building-planning/notification-of-new-edition-of-code-of-practice-on-environment-health-(2020 -版).pdf

https://www.nparks.gov.sg/-/media/nparks-real-content/partner-us/developers-architects-and-engineers/circular_2020_0106_nparks.pdf?la=en&hash=F25A74CC8667D5D98EDF3A9C186E235330D228A8

编辑:

0 投票
0 回答
2539 浏览

javascript - 如何使用 PDFJS/pdfjsLib 的 SimpleViewer 加载多个 PDF 文档

我正在使用 PDF.js 中的官方SimpleViewer组件示例,它适用于具有多个页面的单个文档,直到我尝试加载多个文档,但它无法按预期工作。

第一个文档正确加载,第二个文档仅显示加载指示器,没有错误。

我已经在课堂上的 JsFiddle 上重新创建了代码,所以希望有人能帮助我理解哪里出了问题。

https://jsfiddle.net/redfox05/xvpzwLc2

原始示例可在此处找到:https ://github.com/mozilla/pdf.js/tree/master/examples/components

问题

将加载单个文档,不会加载多个文档。只显示加载指标。控制台没有错误。

编码:

0 投票
0 回答
255 浏览

annotations - 在网页上显示 pdf 文档,但带有替换链接

我有一个 pdf 文件,里面有很多外部链接。这些链接指向 youtube 视频中的特定时间位置,但这对于问题并不重要。我还有一个带有 pdf 查看器的网页,它基于examples/components/simpleviewer.htmlpdf.js 存储库中的示例。我想不以原始形式显示这些链接,而是让它们调用一些 javascript 代码,以便我能够自己对单击链接做出反应,而实际上并不遵循原始链接目的地。

首先,我试图从 npm 包中扩展类PDFViewer,但我没有设法找出在那里覆盖什么以及如何覆盖。所以我通过修补 AnnotationLayer 类做了一个肮脏的调整。现在一切正常,但这种解决方案可能会导致将来出现问题。我想找到实现相同目标的假定方法。web/pdf_viewer.jspdfjs-dist

这是我在打字稿中的解决方案:

0 投票
0 回答
112 浏览

node.js - Firebase Cloud Functions PDFJS:如何使用 PDFJS 检查计划功能的持久连接

我正在尝试解决我的 Firebase 计划云功能的问题,Firebase 支持建议我检查

如果有问题的功能保持持久连接

我在这里参考文档,但示例是 HTTPS 函数,即具有reqres参数。我正在处理的功能是预定功能,即:

functions.pubsub.schedule('every 5 minutes').onRun((context) => {//some work})

没有reqres参数,如何检查firebase调度云功能是否保持持久连接?

编辑:

我收到了 Firebase 支持的回复,他们建议我检查从我的预定函数发出的 HTTP 请求的持久连接。

我的计划函数通过抓取 pdf URL 执行网络抓取任务,然后从这些 pdf 文档中提取纯文本。我面临的问题是这些任务总是因我无法捕捉到的“Bad end offset”错误而崩溃。pdfjsFirebase 支持怀疑在访问 pdf 的 URL时连接不是持久的。

在此处输入图像描述

代码:

在 pdf.js 脚本中:

我试图在agent = new http.Agent({keepAlive: true});atsetupPdfOptions但它仍然崩溃。

我可以做些什么来保持pdfjs与 pdf 的 URL 之间的持久连接?

我正在运行节点引擎 10,并且"pdfjs-dist": "^2.4.456".

0 投票
1 回答
602 浏览

angular - 无法在角度应用程序中打开受密码保护的 pdf

我在我的角度应用程序中使用pdfjs-dist来呈现 pdf。但我无法打开受密码保护的 pdf。有没有其他方法可以验证文档的密码并打开它。

0 投票
5 回答
15556 浏览

javascript - 寻求帮助以使 npm/pdfjs-dist 与 Webpack 和 Django 一起工作

几个小时以来,我一直在尝试用 npm install 替换基于链接的 pdf.js pdfjs-dist,因为我注意到我的链接不打算用作 cdn,并且可能会变得不稳定,如此处所述

除了几个示例之外,我找不到太多关于如何使其工作的文档,当涉及 Webpack 时,它们主要使用 React,而我只是在 Django 框架中使用 ES6(在所需的 django 目录上静态编译,不使用webpack 插件。)

在与一位从事 pdf.js 工作的人交换了几条消息后,似乎我的编译错误可能是由于 Webpack 在内部处理库的方式造成的。这是我所看到的:

从理论上讲,它pdfjs-dist应该带有一个零配置文件,甚至不需要为它设置一个工人,所以像下面这样的代码应该可以工作:

但它没有被编译,我真的很感激一些指针。提前致谢

0 投票
1 回答
156 浏览

angular - 用于 PDFJS 元数据提取的 Angular Observable

我正在尝试使用 PDFJS 从 PDF 中提取元数据并通过 Observable 订阅获取它。

服务代码:

组件代码

没有错误,但 this.pdfp 一直未定义。

我究竟做错了什么 ?

在此先感谢您的帮助!

0 投票
1 回答
1620 浏览

javascript - 在带有 typescript 的 create-react-app 中使用 mozilla pdf.js

我尝试查找一些有关如何将 mozilla pdf.js 包含到配置了 typescript 的 create-react-app 的文档。不幸的是,我只发现很多人都在问同样的问题,但没有有效的解决方案。
目前我使用以下方法,它似乎有效。但我不确定这是否是一个好方法。

我使用 npm 安装了依赖项,如下所示。

并以这种方式导入/配置它。

因此,我必须确保文件pdf.worker.js.mappdf.worker.min.js文件夹中存在public/assets/js/pdfjs。有没有更优雅的方法来解决 pdf.js 的导入问题?

附上 react 和 pdfjs-dist 版本:

0 投票
1 回答
1201 浏览

electron - 未找到模块:错误:无法解析 'fs' - Electron

我正在开发一个 PDF 查看器,基本上,它是一个mozilla pdf.js 项目。我克隆了 repo 并安装了依赖项,一切正常,即使我尝试通过 构建项目gulp generic,它也可以正常工作。

问题开始时我已经安装electron,创建查看器的桌面版本,即使在电子应用程序中一切仍然有效,但我习惯于const { ipcRenderer } = require('electron')从浏览器窗口向主进程发送消息。在我尝试使用 构建应用程序之前,它也可以正常工作gulp generic,它会显示一个错误Module not found: Error: Can't resolve 'fs' in '/*******/pdf.js/node_modules/electron'。当我require('electron')从脚本中删除它时,它会正确构建。

我的代码

错误

在此处输入图像描述

0 投票
0 回答
308 浏览

angular - 您如何将 pdfjs-dist 与 Internet Explorer 的 Angular Elements 一起使用

如何正确导入 pdfjs-dist 并为 Internet Explorer 使用 es5 版本?

我正在使用 Angular 8 和自定义元素,到目前为止我所做的是

然后在我的组件中导入脚本:

然后我将创建一个变量

并使用类似的功能

这对 Chrome 来说非常有效,但在 IE 中会出现不支持对象操作等错误。我猜这是预期的,因为它没有使用 es5 文件。

我试图修改节点模块中的 pdfjs-dist 以解析为 es5 文件夹,但最后当我加载我的组件时,我收到一个错误,提示 Weakset undefined 或类似的东西。

我还尝试手动动态导入脚本并使用 and 附加document.createElement('script')document.getElementsByTagName("head")[0].appendChild(sc)。这种方法效果最好,但在性能方面它非常糟糕,因为它需要等待脚本完成加载,然后才能真正执行任何操作。

将这个包用于 IE 的正确方法是什么?这个库和 Internet Explorer 本身的文档绝对是垃圾。