使用jZebra在同一张收据上打印HTML和PostScript

时间:2013-08-27 15:40:03

标签: java javascript applet zebra-printers barcode-printing

根据教程here,我可以使用jZebra将HTML和PostScript分别打印到Epson T88V收据打印机。我想在同一个标​​签上使用这两种打印方法 - HTML for text&布局,用于条形码渲染的PostScript。不幸的是,我只能在同一个标​​签上打印一个或另一个。

以下是打印按钮点击事件中包含的js:

//   Text print
applet.appendHTML('<html><table face="monospace" border="1px"><tr height="6cm">' + 
               '<td valign="top">' + [some var value] + '</td>' + 
                   '<td valign="top">' + [some other var value] + '</td>' + 
                   '</tr></table></html>');
applet.printHTML();

//   Barcode print
applet.append("\x1D\x77\x02\x1D\x6B\x49\x11\x7B\x41\x4C000288496\x508149"); 
applet.print();

如果我按原样运行代码,则只打印文本。如果我注释掉文本打印行,则会打印条形码。

我尝试在第一次打印后使用applet.clear();并尝试切换打印顺序但没有任何变化。有没有办法一次打印条形码和文本?

1 个答案:

答案 0 :(得分:1)

是您可以提出的要求,但您不应该交替使用HTML和ESC / P命令。请参阅打印机制造商提供的ESC / P程序员手册以打印文本。

以下是ESCPCommands的样本,摘自jZebra wiki并附有快速解释。

applet.append("\x1B\x40"); // 1
applet.append("\x1B\x21\x08"); // 2
applet.append(" International \r\n");
applet.append(" Company \r\n");
applet.append("\x1B\x21\x01"); // 3
applet.append(" ************************************************** \r\n");
applet.append("Info: 42972\r\n");
applet.append("Info: Kommm\r\n");
applet.append("Datum: 14:00 01/02\r\n");
applet.append(" -------------------------------------------------- \r\n");
applet.append("Info: 42972\r\n");
applet.append("Info: Kommm\r\n");
applet.append("Datum: 14:00 01/02\r\n");
applet.append(" -------------------------------------------------- \r\n");
applet.append(" \r\n");
applet.append(" \r\n");
applet.append(" \r\n");
applet.append(" \r\n");
applet.append("\x1D\x56\x41"); // 4
applet.append("\x1B\x40"); // 5
  
      
  • 这里以启动命令ESC @(hex:\ x1B \ x40)开头   将样式设置为粗体,字体为A(位0(表示字体0)+位8(表示强调)= 8,ESC!8,十六进制:\ x1B \ x08)
  •   
  • 将样式设置为字体B,没有任何样式(位1 = 1,ESC!1,十六进制:\ x1B \ x01)
  •   
  • 剪切命令
  •   
  • 如果其他任何程序正在使用此程序,请确保重置打印机,以防它不会重置。
  •   

代码片段的信用从jZebra邮件列表转到Bahadir。

-Tres

相关问题