问题 电子PDF查看器


我有一个Electron应用程序从PHP服务器加载URL。该页面包含一个具有PDF源代码的iFrame。在普通的网络浏览器中,PDF页面似乎绝对正常,但要求在Electron中下载。有帮助吗?

我的html页面代码是

<h1>Hello World!</h1>
Some html content here...
<iframe src="http://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf" width="1200" height="800"></iframe>

我的js代码是这样的

mainWindow = new BrowserWindow({width: 800, height: 600})
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}))

app.on('ready', createWindow)

任何帮助都会非常棒......


11928
2018-04-05 01:29


起源



答案:


Electron已经发布了集成的PDF查看器插件。但是,默认情况下,插件已停用。所以你必须激活它们:

为一个 BrowserWindow 你做:

let win = new BrowserWindow({
  webPreferences: {
    plugins: true
  }
})

对于一个 <webview> 你这样做:

<webview src="example.com" plugins></webview>

14
2017-08-17 15:37



自从我更新到最新的电子版并添加上面的代码片段...它最终适用于: <iframe src="./pdf-test.pdf"></iframe>  谢谢你分享这个! - chrisheyn


答案:


Electron已经发布了集成的PDF查看器插件。但是,默认情况下,插件已停用。所以你必须激活它们:

为一个 BrowserWindow 你做:

let win = new BrowserWindow({
  webPreferences: {
    plugins: true
  }
})

对于一个 <webview> 你这样做:

<webview src="example.com" plugins></webview>

14
2017-08-17 15:37



自从我更新到最新的电子版并添加上面的代码片段...它最终适用于: <iframe src="./pdf-test.pdf"></iframe>  谢谢你分享这个! - chrisheyn


你会需要 https://github.com/gerhardberger/electron-pdf-window

例:

const { app } = require('electron')
const PDFWindow = require('electron-pdf-window')

app.on('ready', () => {
  const win = new PDFWindow({
    width: 800,
    height: 600
  })

win.loadURL('http://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf')

})


0
2018-04-05 01:41



尝试过,但这只是有用的直接pdf链接,我有一个iFrame,其中有一个url到pdf。没有用...... - Hari Babu
1.6.4将包含对PDF呈现的本机支持:请参阅发行说明中的​​API更改: github.com/electron/electron/releases/tag/v1.6.4 - pergy