2015-10-20 31 views
0

已使用ZebraDesigner2軟件創建用於打印ZPL的標籤,使用GC420t打印機我沒有問題。如何在具有不同dpi的打印機中使用相同的ZPL代碼

現在我必須生成用於使用S4M打印機(200 dpi)和ZT230(300 dpi)打印標籤的ZPL代碼,問題在於相同的dpi差異使得S4M裙子的印象非常大信息。 例如

^XA 
^PW1240 
^LL1724 
^FT321,845^A0N,42,40^FH\^FDTeste 1234567890^FS 
^PQ1,0,1,Y^XZ 

我試過使用下面的命令,但是我還沒有找到好的例子。

^MU – Set Units of Measurement 
^JM – Set Dots per Millimeter 

我需要在兩臺打印機上打印相同的zpl代碼,可以是200或300 dpi。

回答

0

我必須爲準備Zebra打印機的標籤執行類似的過程。我必須動態檢測支持不同可能的打印機的分辨率。以下代碼使用.net PrintServer類來安裝打印機並從中獲取設置。

... 
using System.Printing; 
... 

var ps = new PrintServer(); 
var queues = ps.GetPrintQueues(
new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections }); 

var bool Is200dpi = false; 
var bool Is300dpi = false; 
var int ActualDPI = 203; // just some default  
foreach (var queue in queues) 
{ 
    if (queue.Name.Trim().Equals("ThePrinterOnYourMachine")) 
    { 
     var pt = queue.DefaultPrintTicket; 
     if (pt.PageResolution.X >= 200 && pt.PageResolution.X <= 203) 
     Is200dpi = true; 
     else if (pt.PageResolution.X >= 300 && pt.PageResolution.X <= 303) 
     Is300dpi = true; 

     ActualDPI = pt.PageResolution.X; 

     // done, don't need to look at any other printers 
     break; 
    } 
} 

所以,如果你有一些配置設置來檢測每個機器,其「標籤」打印機,就可以得到這個作爲計算的基礎。標記爲200 vs 300 dpi打印機,以便您可以使用乘數來表示尺寸或尺寸輸出選項來構建標籤。

相關問題