2016-01-17 162 views
0

我正在生成ZPL命令字符串,並且打印機(ZT410)不打印所有發送的標籤。我簡單地遍歷以下代碼並將字符串發送到打印機(通過端口9100上的IP地址)。每個循環都包含一組唯一的數據,其中row ['item_desc'],row ['our_part_number']和部件號每次迭代都會更改(所以我不只是試圖打印522個相同的標籤)。ZPL命令長度限制?

command += '^XA'; 
command += '^LT23'; 
command += '^FO125,30'; 
command += '^A0N,85,50';   
command += '^FB950,1,,C'   
command += '^FD'+row['item_desc']+'^FS'; 
command += '^FO20,260'; 
command += '^A0N,50,50';   
command += '^FD'+part_number+'^FS'; 
command += '^FO122,260'; 
command += '^A0N,50,50';   
command += '^FB950,1,,C'   
command += '^FD'+row['our_part_number']+'^FS'; 
command += '^FO935,255'; 
command += '^A0N,25,25';   
command += '^FB200,2,,R'   
command += '^FDMy Company Name Phone_Number ^FS'; 
command += '^FO'+margin+',105'; 
command += '^BY3'; 
command += '^B3N,N,144,N,N';  
command += '^FD'+row['our_part_number']+'^FS'; 
command += '^XZ'; 

我的測試批次是522個標籤。在添加公司信息和條形碼之前,打印機打印所有522個標籤,但使用上面的代碼,它只打印485個標籤。

限制在哪裏?可以發送到端口的字符串長度是否有限制?我應該在每個標籤後添加回車符和換行符(因此打印機知道在哪裏打斷字符串)?還是有一個IP:端口超時?

打印機將打印標籤,但不會以任何方式迴應發送該命令的端口。如果我將標籤分成單獨的命令字符串並按順序發送而不會暫停,則打印機不打印任何標籤。是否可以查詢打印機以知道何時發送下一個命令字符串?

通常情況下,我只想實驗試錯,但在這種情況下,該方法是昂貴且浪費...

+0

也許如果您單獨發送每個標籤打印機緩衝區超載?嘗試添加一些時間,例如在100個標籤後。嘗試使用參數並在打印機中存儲模板。 –

回答

0

嘗試

^PQ522 

的^ XZ之前的命令。

我建議你只發送一次。發送它522次(甚至485次)可能只是一個浪費。

+0

我不明白那會做什麼。所有標籤都是獨一無二的。 – shaun5

+0

沒有跡象表明標籤是唯一的。你的意思是你改變了每個標籤上的描述?您需要更詳細地解釋標籤批次的細節。 – Magoo

+0

我已經在每個循環中加入了我的問題,以更好地概述發生了什麼。 – shaun5

0

使用Fn領域並在本地保存的標籤打印機(使用^ DF),那麼只需調用標籤和填充動態數據的FN領域