2013-08-27 16 views
1

根據教程here,我可以使用jZebra單獨將HTML和PostScript打印到Epson T88V收據打印機。我想在同一個標​​簽上使用兩種打印方法 - HTML爲文本&佈局,用於條形碼渲染的PostScript。不幸的是,我只能打印一個,而不是同一個標籤。使用jZebra在同一張收據上打印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();,並嘗試切換打印順序,但沒有任何更改。有沒有辦法一次打印條形碼和文字?

回答

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 
  • 這開始與initation命令ESC @(己烷:\ X1B \×40) 集樣式粗體字體A(比特0(表示字體0)+ 8位(表示強調) != 8,ESC 8,六角:\ X1B \ X08)
  • 設置樣式到字體B,而沒有任何樣式(位1 = 1,ESC 1,己烷:!\ X1B \ X01)
  • 剪切命令
  • 如果有任何其他程序正在使用此打印機,請確保重置打印機,以防萬一它不會重置打印機。

信貸的代碼片段從jZebra郵件列表去Bahadir。

-Tres

+0

真正的問題是我無法使用appendHTML技術獲取條形碼。自那以後,我放棄了這種方法併成功地使用了XML。另外,我在使用神祕的ESCP命令控制版面時遇到問題,但現在我可以使用這兩種方法打印收據。 – markpsmith