条码不能在斑马直热式打印机中正确打印

时间:2014-04-11 05:46:15

标签: javascript printing zebra-printers zpl barcode-printing

我有一个条形码打印网页,我使用javascript库创建。它在普通的A4打印机上正常打印,但是当我试图在斑马GD420(直热式)条码打印机上打印时,它的打印空白页,在斑马用户指南中,他们指示发送zpl命令,如“^ XA ^ FO50,50 ^ B3N,N,100,Y,N ^ FD123456 ^ FS ^ XZ“并没有得到它,如何在我的代码中使用它? 还有一个人认为我的客户正在远程测试它(在条形码打印机中打印条形码)。 那么这需要任何配置设置吗?

请在附带的屏幕截图中查看我的条形码打印预览。

enter image description here

我已经写了一个用于打印的javascript函数。

<script type="text/javascript">
  function printprocess(numid) {


    for(var i=0;i<numid;i++){
      $("#barcodeTarget").html("");
      var productbarcode=document.getElementById("productbarcode"+i).value;
      var productbarcodevariant=document.getElementById("productbarcodevariant"+i).value;
      var productvariantvalue=document.getElementById("productvariantvalue"+i).value;
      var productprice=document.getElementById("productprice"+i).value;
      var productquantity=document.getElementById("productquantity"+i).value;

      var alstuf=productbarcode+"---"+productbarcodevariant+"------"+productvariantvalue+"---"+productprice+"------"+productquantity;

      if(productquantity!="0"){
    var par1=productbarcodevariant;
    var par2=productvariantvalue;
    var par3=productprice;
    var timu= productquantity;
    var value =productbarcode;
    var renderer ="bmp";
    var btype = "code128";
    var quietZone = false;
    var settings = {
      output:renderer,
      bgColor: "#FFFFFF",
      color: "#000000",
      barWidth: "1",
      barHeight: "40",
      moduleSize: "1",
      posX: "1",
      posY: "1",
      addQuietZone: "1"
    };
    $("#barcodeTarget").html("").show().barcode(value, btype, settings);
    for(var x=0;x<productquantity;x++){
      var Mybarcode = document.getElementById('barcodeTarget').innerHTML;
      console.log(Mybarcode);
      var adtext='<div  style="background-color: #FFFFFF;width: 250px;font-size:10px;font-weight:normal;margin: 200px 0px 200px -70px; -webkit-transform: rotate(90deg);-moz-transform: rotate(90deg);-o-transform: rotate(90deg);-ms-transform: rotate(90deg);transform: rotate(90deg);">     '+par1+': '+par2+'<br/>Price : '+par3+' '+Mybarcode+'   </div>';
      $("#barcodelist").append(adtext);
    }
      }
    }
    var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
    disp_setting+="scrollbars=yes,width=200, height=600, left=100, top=25"; 
    var content_vlue = document.getElementById("barcodelist").innerHTML; 
    var docprint=window.open("","",disp_setting); 
    docprint.document.open();
    docprint.document.write('<!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml">');
    docprint.document.write('<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css"> @media (max-width: 4in) {    @page {      size: A4;    }  }</style></head>');
    docprint.document.write('<body onLoad="self.print()">');
    docprint.document.write(content_vlue);          
    docprint.document.write('</html>'); 
    docprint.document.close(); 
    docprint.focus(); 
    docprint.print(); 
    $("#barcodeTarget").hide()
    return false;
  }

</script>

2 个答案:

答案 0 :(得分:2)

用斑马编程语言创建条形码打印机类的对象。像

BarCodeField barcode = new BarCodeField("barcode",
                                         10, // X Position in dots 
                                         10, // Y Position in dots 
                                         Printer.ALIGN_BOTTOM_LEFT, // Alignment
                                         Printer.DIR_LEFT_TO_RIGHT,// Direction
                                         BarCodeField.TYPE_EAN_13,// barcode type
                                         56, //barcode height
                                         1, // wideRatio
                                         3, // narrowRatio
                                         1,//Magnification
                                        "3442648507010"); // barcode expression

答案 1 :(得分:1)

你必须使用斑马编程语言在条形码打印机上发送数据,如@douglas,提到你必须使zpl字符串像^ XA ^ FO50,50 ^ B3N,N,100,Y,N ^ FD123456 ^ FS ^ XZ
转换指令。检查此link以获取zpl

中的写代码