问题标签 [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 投票
4 回答
2540 浏览

javascript - Mozilla PDF - 如何从反应应用程序中的 url 查看 PDF?

我遵循了一个关于如何使用 React 实现 Mozilla 的 PDF 查看器的快速教程。我在这里做了一个codesanbox 。我想知道这是否可以通过导入pdfjs的节点模块来实现。因此,不要将包下载到公用文件夹以将其与导入一起使用:

此外,当 PDF 的源是 URL 时,这种设置不起作用。如果我这样做,我会收到一个错误:

PDF.js v2.5.207 (build: 0974d6052) 消息:文件来源与查看者的不匹配

我已经注释掉了在pdfjs-2.5.207-dist/web/viewer.js中检查文件来源的代码部分:

但是,然后我得到一个错误:

PDF.js v2.5.207 (build: 0974d6052) 消息:获取失败

我怎样才能解决这个问题?是否可以像模块一样将这个包导入到反应组件中,我如何将它用于带有 URL 的外部资源的 PDF?

0 投票
2 回答
7415 浏览

javascript - 如何将 UI 和工具栏添加到 PDF.js 查看器?

我正在尝试在我的项目中实现 PDF.js,但它比预期的要难。

目前,我可以在 div 中呈现整个 PDF,但无法呈现标准工具栏查看器;您可以在此演示页面的顶部看到我想要的示例:https ://mozilla.github.io/pdf.js/web/viewer.html

我的 JS 代码现在看起来像这样:

那么......我怎样才能使用演示页面等所有控件的工具栏查看器?

0 投票
2 回答
889 浏览

pdf.js - PDF.js 无法获得范围/流式 PDF 的工作

我们有一个使用 PDF 的应用程序,但由于客户使用的 PDF 的大小,我们遇到了缓存问题。决定随时检查流式传输/使用范围请求以下载 PDF。

这是我所看到的:

有很多 CORS,因为我现在在本地运行它,甚至在我考虑将它推到开发环境之前。我认为我们已经添加了所有必需的标头以使 PDF.js 检测到我们支持范围调用,但它似乎无法正常工作。

当我深入到( )PDFJS-dist/build/pdf.js行上的文件时,我看到了这个:23744v2.3.200

这让我想到;也许这个getResponseHeader()东西是区分大小写的,出于某种原因,我无法让 API 以我们习惯的整洁的混合大小写来响应其标题。所以我决定稍微修改一下,让它的 returnValues return allowRangeRequests = true

这很有效,因为然后我看到 a200 OK具有与上面相同的标头(在OPTIONS本地工作之后),应该取消但不是,然后是一堆206 PARTIAL带有增量range: byte=0-65000等标头的新调用,如下所示:

依此类推,这也为我提供了视图中的实际工作 PDF(或至少几页);所以这表明它至少部分有效。

现在为什么我需要“破解”这个,我缺少什么标题让 PDF.js 检测到我们实际上支持范围,因为它似乎被正确实现了?这也是为什么它不会range: bytes=0-65535 因为“范围支持检测”的另一部分而取消初始提取的原因吗?

0 投票
2 回答
10396 浏览

angular - node_modules/@types/pdfjs-dist/index.d.ts(63,39) 中的错误:错误 TS2304:找不到名称“未知”

我在 Angular 6 项目中使用 ng2-pdf-viewer,

在项目编译时,它会出现以下错误

node_modules/@types/pdfjs-dist/index.d.ts(63,39) 中的错误:错误 TS2304:找不到名称“未知”。
node_modules/@types/pdfjs-dist/index.d.ts(65,34):错误 TS2304:找不到名称“未知”。
node_modules/@types/pdfjs-dist/index.d.ts(80,31):错误 TS2304:找不到名称“未知”。
node_modules/@types/pdfjs-dist/index.d.ts(82,30):错误 TS2304:找不到名称“未知”

我的 package.json 文件如下所示

这是我的 package.json 文件

0 投票
0 回答
1424 浏览

javascript - 如何使 PDF.js 查看器滚动到 React 中的匹配项

我正在尝试在我的反应应用程序中使用来自 pdfjs-dist (2.2.228) 的 pdf_viewer。我需要做的是呈现 pdf,然后以编程方式搜索术语,滚动到第一个匹配项,然后能够滚动到下一个和下一个,依此类推。这几乎是网络 pdf_viewer 的功能,但我需要在没有来自网络查看器的标题的情况下构建并将其集成到我的应用程序中。

我已经设法使渲染工作,并且能够按需在文本层中搜索术语。但是,与网络查看器不同,它不会滚动到第一次点击,我不知道如何让它滚动到更多点击。

这是我必须要做的:

我已经尝试过 react-pdf 并且可以正常工作,但是其中的搜索功能不足以满足我的需要。这非常接近,但我真的可以使用一些关于如何让渲染输出以编程方式滚动的指针。

谢谢

0 投票
1 回答
1409 浏览

javascript - 如何使用pdf js将pdf输入字段作为输入字段

如果有输入字段充当输入字段,则从 pdf 文件中我尝试使用 pdf js。但我无法做到这一点。

所以这里是我试图得到的一个例子:

是否可以充当pdf输入字段作为输入字段?

0 投票
1 回答
1291 浏览

node.js - PDFJS NODEJS:无法使警告消息静音

我正在使用pdfjs-dist从 pdf 文档中提取纯文本,并希望在控制台上打印以下警告消息:

虽然这篇文章指出我可以通过设置来做到verbosity: 0这一点,但它似乎不起作用,即警告消息仍在控制台上记录。

代码:

我使用的 pdfjs-dist 版本是 2.2.228,我用 nodejs 编写。

0 投票
1 回答
483 浏览

javascript - 使用 NodeJS 读取 PDF 并在客户端呈现上下文

我想在画布上显示 PDF,而不让客户知道 PDF 网址。
我想以一种方式使用 pdfjs,即我的服务器(nodejs)将获取 PDF url 并解析 PDF,然后将其发送到客户端,客户端将在画布上显示上下文。
有没有办法做到这一点?谢谢!

0 投票
2 回答
3733 浏览

javascript - 有没有办法像真正的 html 元素而不是画布或 svg 一样呈现 pdf.js 页面?

我正在尝试制作可以阅读 pdf 的简单移动 UI,但我计划通过使用我自己制作的 pdf 阅读来添加许多功能,而不仅仅是使用 pdf.js 团队制作的查看器,所以我问是否有任何将 pdf 呈现为带有元素的 HTML 的方式,就像他们在查看器上所做的那样,我对画布不满意,任何帮助,提前致谢

0 投票
0 回答
161 浏览

webpack - 如何覆盖库对内联加载器的使用

我依赖的一个库(在本例中为 pdfjs)正在通过内联使用工作加载程序var PdfjsWorker = require('worker-loader!./build/pdf.worker.js');

我真的很想将worker loader配置为只内联这个worker,这样我仍然可以使用webpack开发服务器......我有以下配置不匹配:

当我直接(粗略)编辑 node_modules 并将该行更新为var PdfjsWorker = require('./build/pdf.worker.js');一切正常并且它是 PERFECT.... 时,有没有办法基本上为给定加载器的所有用法强制选择一个选项,即使加载器是内联指定的?或者一种可能从字面上重写这行代码的方法,或者我可以让 webpack 做一些事情,这样我基本上可以从中得到我想要的东西?