javascript - 无法在 PDFjs 中指定 pdf.worker.js 的自定义路径

标签 javascript asp.net-mvc pdf pdf.js

我已经在我的 ASP.NET MVC 应用程序中实现了 PDFjs。我遵循的步骤。

  • 通过将 PDFjs 提供的代码复制为 WebViewer.html,创建了一个用作 Pdf 查看器的操作。
  • 在此页面上,我正确提供了该 HTML 页面所需的所有静态资源的路径。

现在唯一的问题是pdf.worker.js的路径。当我运行该应用程序时,出现错误,提示找不到该文件。即使经过很多努力,我也无法解决这个问题。谁能告诉我,我需要在代码中进行哪些更改,以便我可以指定该文件的自定义路径?

enter image description here

根据代码,我可以说这个js文件是由pdf.js内部引用的。但是 pdf.js 文件似乎是由 WebPack 生成的,并且更新该文件中的 pdf.worker.js 路径不会影响任何内容。

这就是 pdf.js 代码的样子:

enter image description here

最佳答案

使用 PDF.js 默认查看器,应用程序选项位于 viewer.js 文件中。虽然我没有完全理解它的工作原理,但查看器层似乎根据需要将配置值传递到 pdf.js 显示层。

在 2.0+ 版本中,您可以更改 workerSrc 的硬编码值,默认情况下如下所示:

workerSrc: {
  value: '../build/pdf.worker.js',
  kind: OptionKind.WORKER
}

我无法找到在 2.0 中动态设置它的方法。

在新预发布的2.1中,感谢this pull request ,您可以使用自定义 webviewerloaded 事件更轻松地设置查看器选项。例如,

document.addEventListener('webviewerloaded', function () {
    document.PDFViewerApplicationOptions.set('workerSrc', '/your/path/here/pdf.worker.js');
});

关于javascript - 无法在 PDFjs 中指定 pdf.worker.js 的自定义路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53723039/

相关文章:

javascript - 如何设置事件标签

javascript - JQuery.jsonParse 不工作

asp.net-mvc - 在调试 MVC View 时检查 HTML 输出

asp.net - 使用 Persits.PDF 在 pdf 中显示为 é 的重音字符

ruby - 如何检查 PDF 文件是否与 Ruby/Rspec 有一些链接?

javascript - 如何通过脚本将转换应用于 Illustrator 中的选区

javascript - 让div在滚动时淡入淡出

c# - 如果它为空,则不要添加到列表中 c#

asp.net - ASP .net MVC 调用默认 Controller 和操作 vs 设置启动页面

php - 将特定部分 div 转换为 pdf