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;

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章