web-dev-qa-db-fra.com

Electron PDF

J'ai une application Electron qui charge l'URL à partir du serveur PHP. Et la page contient un iFrame ayant une source au format PDF. La page PDF PDF semble absolument correcte dans un navigateur Web normal mais demande le téléchargement dans Electron.

Mes codes pour la page html sont

<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>

Et mon code js est quelque chose comme

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)

Toute aide serait vraiment formidable ...

12
Hari Babu

Electron est déjà livré avec un plug-in de visualisation intégré PDF. Cependant, les plug-ins sont désactivés par défaut. Vous devez donc les activer:

Pour un BrowserWindow vous faites:

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

Et pour un <webview> vous le faites comme ceci:

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

Vous aurez besoin de https://github.com/gerhardberger/electron-pdf-window

Exemple:

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')

})

1
Jason Livesay