网页上使用 js 调用打印机

更新日期: 2018-01-26 阅读次数: 12009 分类: Javascript

如果直接调用

window.print();

会默认打印当前页面。

但是,我想打印指定的页面内容,即,指定的 div 内的内容

stackoverflow 上找到一个解决方案,这段 CSS 的逻辑就是在打印机页面上将其他内容隐藏,只显示需要打印的部分

@media print {
	body * {
		visibility: hidden;
	}

	/* 隐藏 chrome 浏览器下的 header, footer */
	@page { 
		margin: 0; 
	}

	#section-to-print, #section-to-print * {
		visibility: visible;
	}

	#section-to-print {
		position: absolute;
		top: 0;
		margin: 0.5cm;
	}
}

js 代码逻辑

  1. 从后台获取待打印的页面 html
  2. 将该部分 HTML append 到 body
  3. window.print();
  4. remove 该部分 HTML

参考

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
2020年04月30日 全国交通安全反思日
2020年05月01日 国际劳动节
2020年05月04日 五四青年节
2020年05月05日 立夏
查看更多节日