【问题标题】:Printing HTML and PostScript on the same receipt using jZebra使用 jZebra 在同一张收据上打印 HTML 和 PostScript
【发布时间】:2013-08-27 15:40:03
【问题描述】:

根据教程here,我可以使用 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.clear(); 并尝试切换打印顺序但没有任何变化。有没有办法一次性打印条码和文字?

【问题讨论】:

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


    【解决方案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 @ 开头(十六进制:\x1B\x40) 使用字体 A 将样式设置为粗体(位 0(表示字体 0)+位 8(表示强调)= 8,ESC!8,十六进制:\x1B\x08)
    • 将样式设置为字体 B,不带任何样式(位 1 = 1,ESC !1,十六进制:\x1B\x01)
    • 剪切命令
    • 如果任何其他程序正在使用此打印机,请确保重置打印机,以防万一它不会重置它。

    代码 sn-p 的功劳来自 jZebra 邮件列表中的 Bahadir。

    -特雷斯

    【讨论】:

    • 真正的问题是我无法使用 appendHTML 技术获得要呈现的条形码。我已经放弃了这种方法并成功地使用了 XML。此外,我在使用神秘的 ESCP 命令控制布局时遇到问题,但我现在可以使用这两种方法打印收据。
    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多