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;//结束打印
有例子吗
winform 打印不清晰问题
我在做一个关于条码打印工具,现在问题是当条码纹比较细时,打印出来的效果就会有蛮多的模糊,扫描不出来。请问该如何处理,提高条码打印的清晰度,
我已经设成高清了 g.SmoothingMode = SmoothingMode.HighQuality;
以上是关于C# winform 怎么调用斑马条码打印机批量打印的主要内容,如果未能解决你的问题,请参考以下文章