使用jqprint打印网页指定区域的内容
根据工厂的需求,要在浏览器上打印执行一系列操作之后,打印出一个标签,贴在包装盒上。
本人也是第一次做浏览器打印的开发,做个笔记记录一下过程,方便以后回顾
插件
百度了一大圈,发现有很多打印方案,有直接调用浏览器的,有需要提前安装插件的,有适配IE的。
我这里选的是jquery插件jQuery.print
使用
- 引入插件
- 给需要打印的部分添加一个id属性(如果不是打印整个页面)
- js选中指定区域,调用打印
demo
先在html中引入插件,必须放在jquery的位置后面,然后在需要局部打印的地方设置id,这里设置的id为
tag
<html>
<head>
...
<!-- 必须在加载插件之前先加载jquery -->
<script src="./common/js/jQuery.print.min.js"></script>
...
</head>
<body>
<!-- tag标签内的内容为需要打印的部分 -->
<div class="tag" id="tag">
<div class="left-box">
<!-- 此处为html代码,省略 -->
</div>
<div class="right-box">
<!-- 此处为html代码,省略 -->
</div>
</div>
</body>
</html>
打印
tag
区域的内容
// 获取需要打印的区域html
var html = $("#tag").html();
// 调用打印
$.print(html, {
debug: false,
globalStyles: true, // 是否使用父文档的样式表
iframe: true,
importCSS: true,
printContainer: false,
operaSupport: false
});
最终效果
- 浏览器操作界面
- 打印预览的效果(只有标签的内容,不包含其他元素)