Web 打印 - musishui/WebStudy GitHub Wiki

// 页面打印方法
// 参数 domObj:dom对象,如果不传入参数,打印整个页面,如果传入参数,打印dom对象的内容(包含自身)
// 调用:打印局部 printPage(document.getElementById('ID')); 
//       打印整个页面 printPage(); 
function printPage(domObj) {
	pagesetup_null();
	if (domObj) {
		var allHtml = window.document.body.innerHTML;
		var printHtml = domObj.outerHTML;
		window.document.body.innerHTML = printHtml;
		window.print();
		window.document.body.innerHTML = allHtml;
	} else {
		window.print();
	}
	pagesetup_default();
}

var hkey_root, hkey_path, hkey_key
hkey_root = "HKEY_CURRENT_USER"
hkey_path = "\\software\\Microsoft\\Internet Explorer\\PageSetup\\"

//设置网页打印的页眉页脚边距为空 
function pagesetup_null() {
	try {
		var RegWsh = new ActiveXObject("WScript.Shell");
		hkey_key = "header";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
		hkey_key = "footer";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
		hkey_key = "margin_left";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
		hkey_key = "margin_right";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
		hkey_key = "margin_top";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
		hkey_key = "margin_bottom";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
	} catch (e) {}
}

//设置网页打印的页眉页脚边距为默认值 
function pagesetup_default() {
	try {
		var RegWsh = new ActiveXObject("WScript.Shell");
		hkey_key = "header";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&w&b页码,&p/&P");
		hkey_key = "footer";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&u&b&d");
		hkey_key = "margin_left";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.750000");
		hkey_key = "margin_right";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.750000");
		hkey_key = "margin_top";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.750000");
		hkey_key = "margin_bottom";
		RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.750000");
	} catch (e) {}
}
⚠️ **GitHub.com Fallback** ⚠️