关于vue、js连接打印机

1.js可选择 Print.js 来进行操作

<div id="wrap" class="wrap">
	<div class="no-print">禁止打印区</div>
	<div>打印区</div>
</div>
<button class="btn no-print" onClick="Print('#wrap')">开始打印</button>

<script src='Print.js'></script>

2. vue 可选择vue-print-nb 实现打印功能

npm install vue-print-nb --save

<div id="printMe" style="background:red;">
	<p>打印打印</p>
	<p>打印打印 </p>
</div>
<button v-print="printObj">Print local range</button>

import Print from 'vue-print-nb'
Vue.use(Print); 
// id:*必填需部分打印输入的ID
// standard:文档类型,默认是HTML5,可选html5,loose,strict
// extraHead:附加到head标签的附加标签,以逗号分隔
// extraCss:附加链接连接,以逗号分隔
// popTitle:标题显示标题
// endCallback():打印后的回调事件	
 export default {
	data() {
		return {
			printObj: {
			  id: "printMe",
			  popTitle: 'good print',
			  extraCss: 'https://www.google.com,https://www.google.com',
			  extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>'
			}
		};
	}
}

3. 纯原生js操作:(待测)

方法一:

<body>
<!--startprint-->//写上开始位置
<table border="1">
	<tr>
		<td>这个表格将会被打印</td>
		<td>这个表格将会被打印</td>
		<td>这个表格将会被打印</td>
	</tr>
</table>
<br>
<img src="http://p8sv0x8g6.bkt.clouddn.com/zzbk.png" alt="这张图片将会被打印">
<!--endprint-->//结束位置
<button "doPrint()">打印</button>
</body>
<script src="http://p8sv0x8g6.bkt.clouddn.com/jquery-2.1.1.min.js"></script>
<script>
	function doPrint() {
		bdhtml=window.document.body.innerHTML;
		sprnstr="<!--startprint-->"; //开始打印标识字符串有17个字符
		eprnstr="<!--endprint-->"; //结束打印标识字符串
		prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始打印标识之后的内容
		prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容
		window.document.body.innerHTML=prnhtml; //把需要打印的指定内容赋给body.innerHTML
		window.print(); //调用浏览器的打印功能打印指定区域
		window.document.body.innerHTML=bdhtml; // 最后还原页面
	}
</script>
</html>

来自: https://blog.csdn.net/weixin_43292447/java/article/details/83993416

方法二:(待测)

<div id="qrCode">
	<span>hello word!</span>   //要打印的内容
</div>

<button  @click="printBtn()">打 印</button>


 printBtn(){
   var newWin = window.open(""); //新打开一个空窗口
	var imageToPrint = document.getElementById("qrCode"); //将要被打印的图片
	newWin.document.write(imageToPrint.outerHTML); //将图片添加进新的窗口
	newWin.document.close(); //在IE浏览器中使用必须添加这一句
	newWin.focus(); //在IE浏览器中使用必须添加这一句
	setTimeout(function() {
		newWin.print(); //打印
		newWin.close(); //关闭窗口
	}, 100);
},
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值