當前位置:編程學習大全網 - 編程語言 - 如何用C#來實現驅動Zebra zm400打印機進行條碼打印

如何用C#來實現驅動Zebra zm400打印機進行條碼打印

之前做過條碼打印,用的是兄弟的打印機,斑馬的應該是壹樣的。

首先 ,打印條碼其實就是打印位圖(bitmap),

所以只要妳生成了位圖文件,然後連接打印機,把位圖傳給他,讓他打印就好了。

1,C#生成條碼文件,

需要壹個barcode類,根據不同的編碼規則(128 還是39)去生成條碼,這個妳百度壹下,壹大把,直接把代碼拷貝走就可以調用了,就是壹個函數而已。

壹般都是需要傳幾個參數,如尺寸(height,width),編碼規則,妳要轉碼的字符串。

2,打印

我用的是c#中的FlowDocumentScrollViewer類型(流文檔,可以批量打印)

?var?fdsv?=?new?FlowDocumentScrollViewer()?{?Document?=?new?FlowDocument()?{?PageHeight?=?Convert.ToInt16(57),?PageWidth?=?Convert.ToInt16(228),?PagePadding?=?new?Thickness(1)?}?};

fdsv.Document.Blocks.Add(new?BlockUIContainer(BarcodeHelper.GenerateCanvas(BarcodeHelper.Preprocess("code0001"),?15))?{?Padding?=?new?Thickness(0)?});

fdsv.Document.Blocks.Add(new?Paragraph(new?Run("code00001")?{?FontSize?=?9?,?FontFamily?=?new?FontFamily("Arial")?})?{?Padding?=?new?Thickness(0)?});

上面的BarcodeHelper類,就是1中所說的生成條碼類,我的找不到了,妳百度壹下就有。

上面代碼生成了壹個流文檔,每頁?57的高度 228的寬度(像素),因為條碼紙的尺寸是這樣的,然後在文檔中加入了兩行,

第壹行放了壹個barcode,第二行放了壹個label,

如果要批量打印, ?直接foreach就可以。 也可以加自己的邏輯。

要註意的是,這種方法需要妳自己去調整, 因為指定了文檔每頁的高度,但是不能向指定頁數加入內容,就是說,妳的內容是順序排列下去的,妳要調整妳的條碼高度+文本高度,讓他正好和流文檔高度相同,否則打出來會亂掉。

結束之後,

調用c#打印接口,fdsv.Print();就可以選擇打印機打印去了。當然也可以自己寫代碼指定IP地址和端口去直接打印。

有問題可以追問我,

  • 上一篇:請問,J2EE是什麽語言,怎麽沒聽說過?
  • 下一篇:it程序員需要什麽學歷
  • copyright 2024編程學習大全網