C# winform 怎么调用斑马条码打印机批量打印

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 怎么调用斑马条码打印机批量打印相关的知识,希望对你有一定的参考价值。

最好有例子可以看。

任何打印机对于C#操作都是一样的.我估计你的难点在乎读写条形码,和批量上.

这是我练习的条形码小Demo.

 private void btnOk_Click(object sender, EventArgs e)//生成
        
            Regex rg = new Regex("^[0-9]13$");
            if (!rg.IsMatch(txtNum.Text))
            
                MessageBox.Show("本例子采用EAN_13编码,需要输入13位数字");
                return;
            
            try
            
                MultiFormatWriter mutiWriter = new com.google.zxing.MultiFormatWriter();
                ByteMatrix bm = mutiWriter.encode(txtNum.Text, com.google.zxing.BarcodeFormat.EAN_13, 363, 150);
                Bitmap img = bm.ToBitmap();
                pbImg.Image = img;
                //自动保存图片到当前目录 
                if (cbSave.Checked)
                
                    string filename = System.Environment.CurrentDirectory + "\\\\EAN_13.jpg";
                    img.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);
                    MessageBox.Show("图片已保存到:" + filename);
                
            
            catch (Exception ee)
             MessageBox.Show(ee.Message); 
        
        private void btnRead_Click(object sender, EventArgs e)//读取
        
            if (!File.Exists(System.Environment.CurrentDirectory + "\\\\EAN_13.jpg"))
            
                MessageBox.Show(System.Environment.CurrentDirectory + "\\\\EAN_13.jpg", " 缺少文件!");
                return;
            
            MultiFormatReader mutiReader = new com.google.zxing.MultiFormatReader();
            Bitmap img = (Bitmap)Bitmap.FromFile(System.Environment.CurrentDirectory + "\\\\EAN_13.jpg");
            if (img == null)
                return;
            LuminanceSource ls = new RGBLuminanceSource(img, img.Width, img.Height);
            BinaryBitmap bb = new BinaryBitmap(new com.google.zxing.common.HybridBinarizer(ls));
            Result r = mutiReader.decode(bb);
            txtNum.Text = r.Text;
        

已附上源码附件

如需要循环生成条形码,只需要循环调用这些代码即可.

另C#打印,这只是文本打印,仅供参考

 public void Print(string filename)//filename是你要打印的字符串
        
            try
            
                PrintDocument printDoc = new PrintDocument();
                printDoc.PrintPage += printDoc_PrintPage;
                printDoc.Print();
            
            finally
            
                sr.Close();
            
        
        void printDoc_PrintPage(object sender, PrintPageEventArgs e)
        
            string line = null;
            string[] items = txtContent.Text.Split(new string[]  "\\r\\n" , StringSplitOptions.None);
            //设置一页的行数=打印区域的高度除以字体高度.
            float pageLine = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);
            //循环打印每一行
            for (int i = 0; i < pageLine && i < items.Length; i++)
            
                line = items[i];
                float singleLine = e.MarginBounds.Top + (i * printFont.GetHeight(e.Graphics));
                e.Graphics.DrawString(line, printFont, Brushes.Black, e.MarginBounds.Left, singleLine);
            
            //e.HasMorePages = true; //继续打印,用于内容超过一张纸的情况下      在pageLine和for的items数据那还得自己算.下次打items中剩余的      
            e.HasMorePages = false;//结束打印
        

参考技术A 打印写出来之后生成条形码的时候循环去调用就可以了追问

有例子吗

winform 打印不清晰问题

我在做一个关于条码打印工具,现在问题是当条码纹比较细时,打印出来的效果就会有蛮多的模糊,扫描不出来。请问该如何处理,提高条码打印的清晰度,
我已经设成高清了 g.SmoothingMode = SmoothingMode.HighQuality;

两点,1,在打印机设置里面有一个打印深度,深度越高,条码越清楚,2:如果长时间使用,会出现光头污垢,用酒精清洗 参考技术A 换鼓啊

以上是关于C# winform 怎么调用斑马条码打印机批量打印的主要内容,如果未能解决你的问题,请参考以下文章

谁知道怎么用斑马(zebra)打印机打汉字?

winform 打印条码 如何去实现

如何使用ZEBRA斑马条码打印机打印中文

斑马条码打印机GK888t怎么设置成连续打印

怎么向斑马条码打印机发送指令啊 usb接口

斑马条码打印机GK888t怎么设置成连续打印