【发布时间】:2019-03-21 11:58:16
【问题描述】:
所以我有这个 Electron 应用程序,在其中一个 .html 文件中,我链接了另一个脚本,该脚本为程序提供了一些实用程序功能,其中之一就是这个:
function openPDF(filePath){
let pdfWindow = new electron.remote.BrowserWindow({
icon: './build/icon.png',
width: 1200,
height: 800,
webPreferences: {
plugins: true
}
});
pdfWindow.loadURL(url.format({
pathname: filePath,
protocol: 'file:',
slashes: true
}));
pdfWindow.setMenu(null);
pdfWindow.on("closed", function () {
pdfWindow = null
});
}
所以这应该使用 Electron 的集成 PDF 查看器(使用 Chromium)在新窗口中打开 PDF。我使用了臭名昭著的plugins: true,我尝试了大部分thousands of preferences you can define for a BrowserWindow,但它总是打开窗口,然后开始下载文件而不是显示它。
我三重检查了文件路径、“导入”等,更新了所有内容,但我似乎找不到问题所在。自 1.6.4 以来,Electron 原生支持此功能,但它对我不起作用。
帮助我,Stack Overflow,你是我唯一的希望。
【问题讨论】:
-
貌似是一个长期开放的buggithub.com/electron/electron/issues/12337
-
这仍然是在
BrowserWindow查看PDF文件的方式吗? -
@oldboy,对不起,我不知道。远程模块即将被弃用,但其余的应该没问题 AFAIK。
-
事实证明,您现在可以使用
object元素本地查看 pdf,这实际上是由电子建议的,而目前不鼓励使用webview。很烂,因为 id 喜欢修改或更好地控制 pdf 查看器 UI
标签: javascript node.js pdf electron chromium