我有一个角度应用程序,您可以计算几件事情,最后生成一个结果页面,可以通过window.print().打印/导出到pdf。这也完全像预期的那样工作。
但是我们现在也用电子构建了这个应用程序的桌面版本。如果我想在电子应用程序中打印/导出结果页面,窗口打印弹出窗口(比较一下这幅图像)将打开,我只能选择打印机,但没有选择将其导出到pdf。
还有什么方法可以继续使用window.print()并将其导出到pdf (基本上类似于web中的window.print()版本)?
发布于 2018-09-15 13:20:04
在ElectronJS中,您可以使用printToPDF而不是客户端js功能,因为electronJS可以直接访问文件系统。
下面是API的一个示例实现。
ipc.on('print-to-pdf', event => {
const pdfPath = path.join(os.tmpdir(), "some-ducking-pdf.pdf");
const win = BrowserWindow.fromWebContents(event.sender);
win.webContents.printToPDF({}, (error, data) => {
if(error) return console.log(error.message);
fs.writeFile(pdfPath, data, err => {
if (err) return console.log(err.message);
shell.openExternal('file://' + pdfPath);
event.sender.send("wrote-pdf", pdfPath);
})
})
});发布于 2020-06-17 22:21:54
只要向左滚动,您就会发现Microsoft print to pdf。
https://stackoverflow.com/questions/52333939
复制相似问题