我正在尝试从以下位置重新创建上一个/下一个示例:
https://mozilla.github.io/pdf.js/examples/
作为 Electron 应用程序。我已经将html的主要部分复制到了我的Electron索引文件中。 renderer.js
本质上是示例页面上的javascript文件。
现在,我尝试进行以下更改:
npm install webpack
,因为它是pdfjs的对等依赖项npm install pdfjs-dist
注意我不确定是否应该完成
pdfjs-dist
或pdfjs
然后在脚本中我替换了:
var pdfjsLib = window['pdfjs-dist/build/pdf'];`
和
var pdfjsLib = require('pdfjs');
但重要的是,我不确定如何处理 worker 线:
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
由于我不清楚的原因,此行已解析为
file://mozilla ...
,因此我手动将其更改为https:// pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://mozilla.github.io/pdf.js/build/pdf.worker.js';
不幸的是,现在我收到关于 promise 并试图在空对象上获取numPages的错误。这是令人反感的代码:
/**
* Asynchronously downloads PDF.
*/
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
pdfDoc = pdfDoc_;
document.getElementById('page_count').textContent = pdfDoc.numPages;
// Initial/first page rendering
renderPage(pageNum);
});
因此,问题是:
最佳答案
如果您仍在寻找解决方案,我可以使用
pdfjsLib.GlobalWorkerOptions.workerSrc = './node_modules/pdfjs-dist/build/pdf.worker.js'
Node 模块内的pdfjs-dist文件夹具有构建文件
关于javascript - 将pdf.js示例移植到 Electron ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54838625/