标题: 网友说法,转,js 打印小票 [打印本页]
作者: admin 时间: 2019-4-9 02:25 标题: 网友说法,转,js 打印小票
jcp打印插件
由于公司项目需要,需要写个打印小票的功能,在网上找啊找啊,确定了4Fang,调试成功之后,传上测试环境,天啦噜的,测试环境的打印功能竟然不行,在本地行,在测试或者正式上就不行,这是什么大头鬼,多方求证,4Fang打印需要获取一个授权码才能在服务器上部署,官网上说可以免费获取,那就获取呗,我按照官网上的步骤一步一步,还是没获到那个码。你可以试试,我是尽力了~~~
一番折腾之后选择了jcp打印插件。附上该插件链接
http://printfree.jatools.com/doc/
当然免费的终究是免费的,不如它的收费功能强大。打印什么的没有问题的。复制内容到剪贴板
代码:
function appentPrint(num){
for(var i=1;i<=num;i++){
var pageContent = '';
pageContent += '<div id="page'+i+'"'+'class="printDiv">';
// '<p>3213123</p>';
pageContent += '<div class="printDiv_div1">';
pageContent += '<p class="printDiv_p1">时间:<span class="time">12321</span> <span style="float: right;">客服:0531-55822193</span></p>';
pageContent += '<div class="printDiv_div2">';
pageContent += '<p class="printDiv_p2 pd5_lft0"> <span class="inlb printDiv_span1"> 收货:<span class="print_div_address">xxxx加</span> </span> </p>';
pageContent += '<p class=" pd5_lft0"> <span class="inlb print_div_proName">物件名称</span> 编号:<span class="print_list_num"></span></p>';
pageContent += '<p class=" pd5_lft0"> <span class="inlb ">下单数量:<span class="placeOrder">2312</span><span class="unite">斤</span></p>';
pageContent += '<p class=" pd5_lft0 printDiv_p3"> <span class="inlb ">实称:<span class="print_div_realWeight" class="fontWeigh"></span><span class="unite">斤</span></p>';
pageContent += '</div>';
pageContent += '</div>';
pageContent += '</div>';
// var apDiv = '<div id="page'+i+'"'+'class="printDiv">'+TempHtml+'</div>'
$("#printDivTemp").append(pageContent)
}
}
//打印事件 按照原单打印
$(".print_realWeight").click(function(){
var myDoc = {
documents : document, // 打印页面(div)们在本文档中
settings:{},
copyrights : '杰创软件拥有版权 www.jatools.com' // 版权声明必须
};
myDoc.settings.marginLeft = 2;
myDoc.settings.marginRight = 1;
myDoc.settings.marginTop = 1;
myDoc.settings.marginBottom = 5;
var jcp = getJCP();
var print_inputNum = $("#print_inputNum").val();
$("#page").siblings().remove();
var printDivTempHTML = $("#printDivTemp").html()
if(parseInt(print_inputNum)){//执行打印
var num = parseInt(print_inputNum);
appentPrint(num)
var orderNum = (placeOrder/print_inputNum*10000/10000).toFixed(2);
var realNum = Number(print_div_realWeight/print_inputNum*10000/10000).toFixed(2);
/*页面设置*/
$(".time").each(function(){
$(this).text(date)
})
$(".print_list_num").each(function(){
$(this).text(print_list_num)
})
$(".print_div_address").each(function(){
$(this).text(print_div_address)
})
$(".print_div_proName").each(function(){
$(this).text(print_div_proName)
})
$(".placeOrder").each(function(){
$(this).text(orderNum)
})
$(".print_div_realWeight").each(function(){
$(this).text(realNum)
})
/*页面设置*/
// jcp.printPreview(myDoc, false);
jcp.print(myDoc, false);
//关闭打印弹窗
$(".dayin_alert").hide()
$(".alert_div_weight").hide()
}else{
layer.msg('先选择打印数量',{time:2000})
}
})
代码很好理解,看一下该插件文档 即可,我只有一点要说明,他是按照 page1,page2,page3进行预分页的,如果多个地方需要打印,就需要先把之前打印的html清空。
它打印的插件可很容易只要把jcpfree.js引入到项目中,它自己就会判断和提示用户下载
---------------------
作者:绿萝很好养活
来源:CSDN
原文:https://blog.csdn.net/qq_35836269/article/details/84345656
版权声明:本文为博主原创文章,转载请附上博文链接!
欢迎光临 杰表技术论坛 (http://jatools.com/) |
Powered by Discuz! 6.1.0 |