1. 程式人生 > >window系統電腦或平板上的electron靜默列印, 2018年10月更新

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;

我這個專案裡,要把網頁上一個異形區域打到膠版紙上,實際打出的大小受到網頁大小/印表機設定/紙張大小三方面影響,如果你也有這種個性化列印需求的話,可以再探討。