2013-10-24 41 views
0

我面臨zebra 3842標籤打印機工作緩慢的問題。zebra 3842 - 使用.net的慢速標籤打印

我使用標準的.net打印框架。 (System.Drawing.Printing.PrintDocument) 打印PrintDocument的Print()函數後,打印機會等待幾秒鐘並打印第一張標籤。然後再等一秒鐘,然後拉回標籤並打印。這個過程就是這樣。

你可以看到從下面的視頻中的情況:(單打印通話,用3頁) http://www.youtube.com/watch?v=DeIoO6qT0kE

我試圖打印3頁與Microsoft Word應用程序。 (同樣的情況也存在) 但是,如果我使用Zebra的軟件來打印標籤,它可以正常運行而不會延遲。

我也安裝了最新的驅動程序。

我是新來的標籤打印,所以我請求有經驗的人幫忙。 可能是什麼問題?我應該先檢查什麼?

在此先感謝。

回答

0

就目前而言,您正在使用的類(PrintDocument)不理解打印機的本機語言(EPL - 我認爲!)。即使您的標籤設計很簡單,PrintDocument也無法生成EPL,因此只需創建一個與整個標籤大小相同的圖像,然後將圖像發送到Zebra打印機驅動程序。由於駕駛員僅僅是被傳遞了一個圖像,它並不知道你真的只是在打印文本和一個或兩個盒子。相反,它將整個標籤發送到打印機進行打印。因此,不是僅僅發送一些輕量級的EPL文本命令,而是將表示整個標籤區域的數據作爲圖像發送。這意味着您發送的是千字節的數據而不是數據字節。此外,驅動程序不得不努力將圖像數據轉換爲大型EPL圖形命令。

我看到一個明顯的選擇,取決於您使用的是什麼連接。它要求您閱讀一些EPL手冊,並將標籤設計放在一起,以便於您使用。您可以在此處看到示例EPL標籤:https://support.zebra.com/cpws/docs/eltron/common/epl2_samp.htm,此處的EPL手冊爲:https://support.zebra.com/cpws/docs/eltron/epl2/EPL2_Prog.pdf

如果使用USB:

使用RawPrinterHelper通過驅動程序發送純EPL命令到打印機:

http://support.microsoft.com/kb/322091

string printerName = "Your_Printer_Driver_Name"; 
string eplCommand = "N\r\nA50,0,0,1,1,1,N,\"Example 1\"\r\nP1\r\n"; 
RawPrinterHelper.SendStringToPrinter(printerName , eplCommand); 

如果您使用的是TCP(以太網):

你的工作甚至是sim PLER。你甚至不需要司機。只需通過TCP連接將EPL下載到打印機:

string eplString = "N\r\nA50,0,0,1,1,1,N,\"Example 1\"\r\nP1\r\n"; 

// Open connection 
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient(); 
client.Connect(ipAddress, port); 

// Write EPL String to connection 
System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream()); 
writer.Write(eplString); 
writer.Flush(); 

// Close Connection 
writer.Close(); 
client.Close(); 
+0

嗨傑森,謝謝你的回答。其實我也嘗試過使用EPL命令。 (我也使用RawPrinterHelper類)通常,如果我們發送EPL而不是使用PrintDocument,打印機會更快地啓動作業。有趣的是,如果我發送「P2,1」命令來打印2份標籤,它會毫不拖延地打印出來。但是,如果我嘗試使用「N ... P1 ... N ... P1」命令打印兩個不同的標籤,它將在每個標籤後等待視頻中的2-3秒。這裏有一個有趣的部分:如果我爲標籤發送非常短的EPL命令(例如只打印一個文本),它不會在標籤之間休眠。 – jetblack

+0

..如果我使用「Zebra Setup Utilities」中的「與打印機直接通信」,這種情況不會改變。 – jetblack

相關問題