gpt4 book ai didi

javascript - 使用 Electron JS 打印 PDF 文件

转载 作者:IT老高 更新时间:2023-10-28 22:06:59 27 4
gpt4 key购买 nike

我正在尝试创建一个用于打印字母大小 PDF 的 Electron JS 应用程序。

这是我的打印代码片段:

win = new BrowserWindow({
width: 378,
height: 566,
show: true,
webPreferences: {
webSecurity: false,
plugins: true
}
});

// load PDF
win.loadURL('file://' + __dirname + '/header1_X_BTR.pdf');

// if pdf is loaded start printing
win.webContents.on('did-finish-load', () => {
win.webContents.print({silent: true, printBackground:true});
});

我的问题是:如果我有 print({silent:true}),我的打印机会打印一个空白页。如果我有 print({silent:false}),打印机的打印方式与屏幕截图相同,带有标题、控件等。

enter image description here

我需要 PDF 内容的静默打印,但我好几天都做不了。有人对 Electron 有过同样的经历吗?

最佳答案

如果您已经有 pdf 文件,或者您在打印“我假设是”之前保存了 pdf,那么您可以获取文件位置,然后您可以使用外部进程使用 child_process 进行打印>.

您可以使用lp 命令PDFtoPrinter window

const ch = require('os');

switch (process.platform) {
case 'darwin':
case 'linux':
ch.exec(
'lp ' + pdf.filename, (e) => {
if (e) {
throw e;
}
});
break;
case 'win32':
ch.exec(
'ptp ' + pdf.filename, {
windowsHide: true
}, (e) => {
if (e) {
throw e;
}
});
break;
default:
throw new Error(
'Platform not supported.'
);
}

希望对你有帮助。

编辑:您也可以使用 SumatraPDF for windows https://github.com/sumatrapdfreader/sumatrapdf

关于javascript - 使用 Electron JS 打印 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49650784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com