Codice a barre non stampa correttamente nella stampante termica diretta Zebra
-
20-12-2019 - |
Domanda
Ho una pagina Web stampata a barre, che ho creato utilizzando la libreria JavaScript.La sua stampa correttamente nella normale stampante A4, ma quando sto cercando di indicare la sua stampante a barre a barre a zebra GD420 (termica diretta), la sua pagina Stampa vuota, nella Guida per l'utente della Zebra, istruiranno a inviare comandi ZPL come "^ xa ^ fo20,50 ^B3N, N, 100, Y, N ^ FD123456 ^ FS ^ XZ "e non ottenerlo, come può usarlo nel mio codice? Un altro pensa che il mio client lo stia testando (stampando il codice a barre nella stampante a barre) da remoto. Quindi ci sono delle impostazioni di configurazione necessarie per questo?
Si prega di trovare la schermata allegata Hottata la mia anteprima di stampa del codice a barre.
Ho scritto una funzione JavaScript per la stampa.
<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>
. Soluzione
È necessario utilizzare la lingua di programmazione Zebra per inviare dati sulla stampante di codici a barre, come @Douglas, menzionato devi fare stringa ZPL come ^ Xa ^ fo 50,50 ^ B3N, N, 100, y, n ^ fd123456 ^ fs ^XZ
.
per convertire le istruzioni.Controlla questo link per codice di scrittura in ZPL
Altri suggerimenti
Creare un oggetto della classe di stampante a barre nel linguaggio di programmazione Zebra.come
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
.