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