发新话题
打印

网友说法,转,js 打印小票

网友说法,转,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 版权声明:本文为博主原创文章,转载请附上博文链接!

TOP

发新话题