Code à barres n'imprime pas correctement l'imprimante thermique directe zébrée
-
20-12-2019 - |
Question
J'ai une page Web imprimée de code à barres, que j'ai créée à l'aide de la bibliothèque JavaScript.Son impression correctement dans l'imprimante A4 normale, mais lorsque je suis en train d'essayer de pringer son imprimeur de code à barres Zebra GD420 (thermique direct), sa page vierge d'impression, dans le guide de l'utilisateur de Zebra, ils instruissent d'envoyer des commandes ZPL, "^ xa ^ fo50,50 ^B3N, N, 100, Y, N ^ FD123456 ^ FS ^ xZ "et ne pas obtenir cela, comment peut-on l'utiliser dans mon code? On pense que mon client le teste (impression de codes à barres dans l'imprimante à barres) à distance. Il y a donc des paramètres de configuration nécessaires pour cela?
Veuillez trouver l'écran ci-joint Tiré mon aperçu de l'impression de code à barres.
J'ai écrit une fonction JavaScript pour l'impression.
<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>
La solution
Vous devez utiliser un langage de programmation Zebra pour envoyer des données sur imprimante à barres, car @douglas, mentionné, vous devez faire une chaîne zpl comme ^ xa ^ fo50,50 ^ b3n, n, 100, y, n ^ fd123456 ^ fs ^XZ
convertir l'instruction.Cochez cette case lien pour le code d'écriture dans zpl
Autres conseils
Créer un objet de la classe d'imprimante de code à barres dans le langage de programmation Zebra.comme
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