C#下条码打印其实很简单,初学者为了实现条码打印,还得查看打印机sdk资料,查手官方开发库手册,那个费劲。
实现条码打印,只需要安装好打印机驱动,再生成条码图片,将图片打印出来就OK了。这样还能在打印条码的同时,还可以将一些文字打印出来。至于如何实现图片打印,网上资料很多。
下边我们来开始实现条码打印,首先到本人的资料地址下载一下dll文件,点这里下载地址,然后将程序引用,按以下方法生成图片
//空间
using Neodynamic.SDK.Barcode;
//条码生成类
BarcodeProfessional bar = new BarcodeProfessional();
bar.Symbology = Neodynamic.SDK.Barcode.Symbology.Code128; //编码,当条码线条较粗时,要换合适的编辑,才能正常扫描.
bar.Code = barCode;
bar.AddChecksum = false;
bar.DisplayStartStopChar = false;
bar.BarWidth = 0.02f; //竖条宽度
bar.BarHeight = 0.5f; //高度
bar.Font = new Font("宋体", 12f);
var m_barImg = bar.GetBarcodeImage();
//生成的图片上边会有文字,这里把它清掉
Graphics g = Graphics.FromImage(m_barImg);
SolidBrush brush = new SolidBrush(Color.White);
int w = 40;
int x = (img.Width - w) / 2;
g.FillRectangle(brush, x, 0, w, 12);
上边的条码打印出来有文字水印,感觉不好。后来本人发现一个比较好的库,名字叫 zxing.dll,现在补充上来。 大家可以到网上下载。
com.google.zxing.oned.Code39Writer wr = new com.google.zxing.oned.Code39Writer();
var bm = wr.encode("1233333", BarcodeFormat.CODE_39, 400, 250);
Bitmap img = bm.ToBitmap();
this.pictureBox1.Image = img;