电子8无法打印

时间:2020-03-14 17:45:20

标签: angular pdf electron

我正在尝试将电子形式的角度视图导出为pdf(在Windows上)。 我在角度分量中的功能:

printToPDF() {
    electron.ipcRenderer.send('testing-pdf');
}

主要过程:

ipcMain.on('testing-pdf', (event) => {

        const shell = require('electron').shell;
        const BrowserWindow = require('electron').BrowserWindow;
        const path = require('path');
        const os = require('os');
        const pdfPath = path.join(os.homedir(), 'testing.pdf');

        const win = BrowserWindow.fromWebContents(event.sender);

        win.webContents.on('did-finish-load', () => {
            console.log('Load finish');
            win.webContents.printToPDF({}).then(data => {
                fs.writeFile(pdfPath, data, (error) => {
                    if (error) throw error;
                    console.log('Write PDF successfully.')
                })
            }).catch(error => {
                console.log(error)
            });
        });
    });

这样,电子就永远不会抛出事件did-finish-load。如果我将代码放在超时范围内:

setTimeout(() => {....}, 5000);

我得到一个错误:

[Error: Failed to generate PDF]

有什么想法吗? 预先感谢。

0 个答案:

没有答案