根据教程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();
并尝试切换打印顺序但没有任何变化。有没有办法一次打印条形码和文本?
答案 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