window系统电脑或平板上的electron静默打印, 2018年10月更新

最近有个需求,在window平板上实现打印,用户在平板上一顿操作之后,生成一个组合的页面,并将页面上的内容打印到纸张上带走。

首先需要在main.js里面添加如下代码,在主进程中,侦听渲染进程的打印事件。

const ipcMain = require('electron').ipcMain;

ipcMain.on("print", (event, arg) => {
	 
	//mainWindow 是打开的窗体
	mainWindow.webContents.print({
		silent: true, //静默
		printBackground: false, //是否打印网页背景
		deviceName: ''
	}, function(error) {

		
	})
});

在渲染进程中,需要使用以下代码。

	const ipcRenderer = require('electron').ipcRenderer;
	ipcRenderer.send('print', '');

如果不需要打印整个页面,可以考虑尝试将要打印的内容临时替换页面内容。

window.document.body.innerHTML=bdhtml;

我这个项目里,要把网页上一个异形区域打到胶版纸上,实际打出的大小受到网页大小/打印机设置/纸张大小三方面影响,如果你也有这种个性化打印需求的话,可以再探讨。

你可能感兴趣的:(大前端,框架)