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

Java 使用jZebra在同一收据上打印HTML和PostScript,java,javascript,applet,zebra-printers,barcode-printing,Java,Javascript,Applet,Zebra Printers,Barcode Printing,基于本教程,我可以使用jZebra将HTML和PostScript分别打印到Epson T88V收据打印机上。我想在同一个标签上使用两种打印方法—HTML用于文本和布局,PostScript用于条形码呈现。不幸的是,我只能得到一个或另一个打印,而不是在同一个标签上 以下是打印按钮单击事件中包含的js: // Text print applet.appendHTML('<html><table face="monospace" border="1px"><tr h

基于本教程,我可以使用jZebra将HTML和PostScript分别打印到Epson T88V收据打印机上。我想在同一个标签上使用两种打印方法—HTML用于文本和布局,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.appendHTML(“”+
''+[某些var值]+''+
''+[某些其他var值]+''+
'');
applet.printHTML();
//条形码打印
append(“\x1D\x77\x02\x1D\x6B\x49\x11\x7B\x41\x4C000288496\x508149”);
applet.print();
如果按原样运行代码,则只打印文本。如果我注释掉文本打印行,则会打印条形码


我尝试过使用
applet.clear()在第一次打印后,尝试切换打印顺序,但没有任何更改。是否有一种一次性打印条形码和文本的方法?

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

下面是一个来自jzebrawiki的示例,并附有一个快速的解释

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@(十六进制:\x1B\x40)开始 使用字体A将样式设置为粗体(位0(表示字体0)+位8(表示强调)=8,ESC!8,十六进制:\x1B\x08)
  • 将样式设置为字体B,不带任何样式(位1=1,ESC!1,十六进制:\x1B\x01)
  • 切割命令
  • 如果其他程序正在使用此打印机,请确保重置打印机,以防打印机无法重置
代码片段的功劳来自jZebra邮件列表中的Bahadir


-Tres

是的,您可以请求什么,但不应交替使用HTML和ESC/p命令。请参阅打印机制造商提供的ESC/P编程器手册以打印文本

下面是一个来自jzebrawiki的示例,并附有一个快速的解释

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@(十六进制:\x1B\x40)开始 使用字体A将样式设置为粗体(位0(表示字体0)+位8(表示强调)=8,ESC!8,十六进制:\x1B\x08)
  • 将样式设置为字体B,不带任何样式(位1=1,ESC!1,十六进制:\x1B\x01)
  • 切割命令
  • 如果其他程序正在使用此打印机,请确保重置打印机,以防打印机无法重置
代码片段的功劳来自jZebra邮件列表中的Bahadir


-Tres

真正的问题是,我无法使用appendHTML技术获得要渲染的条形码。此后,我放弃了这种方法&成功地使用了XML。此外,我在使用神秘的ESCP命令控制布局时遇到问题,但现在我可以使用这两种方法打印收据。真正的问题是,我无法使用appendHTML技术获得要渲染的条形码。此后,我放弃了这种方法&成功地使用了XML。此外,我在使用神秘的ESCP命令控制布局时遇到问题,但现在我可以使用这两种方法打印收据。