最近写个指定打印机打印条码,并且上传服务器保存备份,方便下次打印
如果不需要上传直接将图片流直接给 new FileInputStream(filePath); Doc doc = new SimpleDoc(图片流, dof, das);
思路:
1、在前台用div画布局
2、转成base64图片数据流
3、将数据流发送给后台
4、后台进行数据解码并且上传
5、上传成功后根据路径和打印机名称调动打印机打印
PS:可能写的不是很详细大家凑合看
1、在前台用div画布局
HTML
<#include "../include/header.html" />
<script type="text/javascript">
var viewModel = Hap.createGridViewModel('#grid');
viewModel.model = {};
</script>
<body>
<div id="page-content">
<div class="pull-left" id="toolbar-btn" style="padding-bottom:10px;">
<span class="btn btn-primary k-grid-add" style="float:left;margin-right:5px;" onclick="MyPrint(viewModel.model)" >打印</span>
</div><br/>
</div>
<!--条码-->
<div id="barCode"></div>
<!--一维码js-->
<script src="${base.contextPath}/lib/prints/jquery-barcode.js"></script>
<!--二维码js-->
<script src="${base.contextPath}/lib/prints/jquery-qrcode.min.js"></script>
<!--生成图片js-->
<script src="${base.contextPath}/lib/html2canvas/html2canvas.js"></script>
<script src="${base.contextPath}/lib/html2canvas/bluebird.min.js"></script>
<script src="${base.contextPath}/lib/html2canvas/downLoadImg.js"></script>
<!--
一维码和二维码自行下载
html2canvas.js,bluebird.min.js,downLoadImg.js
这三个文件在 https://download.csdn.net/download/qq_37511501/10232976
-->
<script src="${base.contextPath}/lib/prints/print.js"></script>
</body>
</html>
print.
JS
2、转成base64图片数据流
3、将数据流发送给后台
/*
* Create By: lkj
* Create Date: 2018年08月27日10:10:37
* Desc: 打印工具
*
* */
function MyPrint(printData) {
/**
*
* 描述: 该方法判断进入哪一个打印方法
* @auther: lkj
* @date: 2018/8/28 上午9:21
*
*/
// 根据类型判断进入那个方法
printData.type = "TEST2";
printData.text = "000002RSEOT";
printData.code = "21442650";
printData.printName = "HP DeskJet 2600 series";
if(printData.type == "TEST"){//打印一维码 内部追溯条码
InternalTracingBarCode(printData);
}else if(printData.type == "TEST2"){// ZS11E电池包客户追溯条码
K288ABatteryPackCustomerTraceabilityBarCode(printData);
}
}
function K288ABatteryPackCustomerTraceabilityBarCode(printData) {
/**
*
* 描述:
* @auther: lkj
* @date: 2018/8/28 上午9:33
* @param:printData 需要打印的数据
*/
// 先进行判断该条码是否已经打印过,如果打印过则直接打印 如果没有打印则获取服务器照片存储路径
var fileName = printData.text+"-2.png";
var isPrint = myPostAjax("/is/print",{fileName:fileName,printName:printData.printName});
if(isPrint.success){
alert("打印成功");
return;
}else{
if(isPrint.message != null && isPrint.message != "" && isPrint.message != undefined){
alert(isPrint.message);
return;
}
}
var barCode = '<div id="TEST">';
barCode += '<div id="towCode" style="float: left;margin:20px 10px 20px 5px;"></div>';
barCode += '<div id="content" style="float: left;margin:20px 10px 20px 5px;">';
barCode += '<span><font size="6px">1234</font><font size="8px">2234</font></span><br/>';
barCode += '<span><font size="6px">1234567822345678</font></span><br/>';
barCode += '<span><font size="6px">12345678</font></span><br/>';
barCode += '<span><font size="6px">1234567822345678</font></span>';
barCode += '</div>';
barCode += '<div id="towCode2" style="float: left;margin:20px 10px 20px 5px;"></div>';
barCode += '</div>';
var width = 200;// 二维码宽高
var height = 200;
$("#barCode&