电子:从缓冲区加载URL
Posted
技术标签:
【中文标题】电子:从缓冲区加载URL【英文标题】:Electron: loadURL from buffer 【发布时间】:2018-10-25 01:21:12 【问题描述】:在我的渲染器中,我可以发出一个事件来创建 PDF。但是,在写入磁盘之前,我想先在另一个窗口中打开新创建的 PDF。如何绕过写入文件系统并使用data
作为loadURL
的源?
到目前为止我的代码:
ipcMain.on('view-pdf', (event, url) =>
let pdf
mainWindow.webContents.printToPDF(, (error, data) =>
if (error) throw error
pdf = data
// what's the magic here to make pdf work?
)
const pdfWindow = new BrowserWindow(
width: 1024,
height: 800,
webPreferences:
plugins: true,
webSecurity: false
)
pdfWindow.loadURL(pdf)
)
【问题讨论】:
【参考方案1】:javascript 的异步特性是一头野兽。这按预期工作:
ipcMain.on('view-pdf', (event, url) =>
mainWindow.webContents.printToPDF(, (error, data) =>
if (error) throw error
const pdf = data.toString('base64')
const pdfWindow = new BrowserWindow(
width: 1024,
height: 800,
webPreferences:
plugins: true,
webSecurity: false
)
pdfWindow.loadURL('data:application/pdf;base64,' + pdf)
)
)
代码并不完美,但这就是它的工作原理。
【讨论】:
而且速度极慢。我认为他们正在 plf 插件 iirc 中寻找更好的解决方案。以上是关于电子:从缓冲区加载URL的主要内容,如果未能解决你的问题,请参考以下文章