Board logo

标题: 网友说法,转,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://bbs.jatools.com/) Powered by Discuz! 6.1.0