首页 » 网站推广 » phpprinterdll技巧_C与斑马打印机打印条码2C轨范编写

phpprinterdll技巧_C与斑马打印机打印条码2C轨范编写

访客 2024-12-14 0

扫一扫用手机浏览

文章目录 [+]

前面写到斑马打印机的ZPL措辞,及常用的命令。
本次写下C#如何调用ZPL措辞在斑马打印机上进行打印。

C#调用斑马打印机打印紧张用到两个库:Fnthex32.dll和SMT.ZEBRA.dll,利用方法:SMT.ZEBRA.dll在项目中引用,Fnthex32.dll只需把dll放到C:\Windows\SysWow64和C:\Windows\System32 文件夹中即可。
其余把稳天生的程序假如32位,64位会报错。

phpprinterdll技巧_C与斑马打印机打印条码2C轨范编写

代码实现:

phpprinterdll技巧_C与斑马打印机打印条码2C轨范编写
(图片来自网络侵删)

紧张用到的方法:ZebraPrinter.PrintLabEx(string n_strTemplateFilePath, string n_strLabels, string n_strPrinterName)

第一个参数:n_strTemplateFilePath是ZPL命令的路径地址,编写好的ZPL命令格式是.TXT或者.ZPL格式,把稳假如大写。

第二个参数:n_strLabels标签数据凑集字符串,多个标签行用'|'分割,单个标签行数据内部用'^'(字段)分割或'~'(笔墨或条码)分割

第三个参数:n_strPrinterName是打印机名称。

代码如下:

/// <summary> /// CODE128条码天生; /// </summary> /// <param name="sn">条码内容</param> /// <param name="txt_x">文本起始X</param> /// <param name="txt_y">文本起始Y</param> /// <param name="txt_font">文本字体</param> /// <param name="txt_size">字体大小</param> /// <param name="barcode_width">条码宽</param> /// <param name="barcode_x">条码起始X</param> /// <param name="barcode_y">条码起始Y</param> /// <param name="barcode_height">条码高</param> /// <param name="print_name">打印机名称</param> public void Print_code128(string sn, string txt_x, string txt_y, string txt_font, string txt_size, string barcode_width , string barcode_x, string barcode_y, string barcode_height, string print_name) { FileStream F = new FileStream("code128.TXT", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); F.Close(); StreamWriter sw = new StreamWriter("code128.TXT"); sw.WriteLine("^XA^PW709^LH0,0^FO" + txt_x + "," + txt_y); sw.WriteLine("^CF" + txt_font + "," + txt_size); sw.WriteLine("^FD" + sn + "^FS"); sw.WriteLine("#CN_DATA1#;|黑体,粗体|20|10|"); sw.WriteLine("^BY" + barcode_width + ",3.0"); sw.WriteLine("^FO" + barcode_x + "," + barcode_y); sw.WriteLine("^BCN," + barcode_height + ",N,N,N,A"); sw.WriteLine("^FD#ID1#^FS^PQ1,0,1,Y^XZ"); sw.Close(); ZebraPrinter printer = new ZebraPrinter(); string str = string.Concat(" ", "~", sn); string printPath = "code128.TXT"; printer.PrintLabEx(printPath, str, print_name); } /// <summary> /// PDF417条码天生; /// </summary> /// <param name="sn">条码内容</param> /// <param name="txt_x">文本起始X</param> /// <param name="txt_y">文本起始Y</param> /// <param name="txt_font">文本字体</param> /// <param name="txt_size">字体大小</param> /// <param name="barcode_width">条码宽</param> /// <param name="barcode_x">条码起始X</param> /// <param name="barcode_y">条码起始Y</param> /// <param name="barcode_height">条码高</param> /// <param name="print_name">打印机名称</param> public void Print_pdf417(string sn, string txt_x, string txt_y, string txt_font, string txt_size, string barcode_width , string barcode_x, string barcode_y, string barcode_height, string print_name) { FileStream F = new FileStream("pdf417.TXT", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); F.Close(); StreamWriter sw = new StreamWriter("pdf417.TXT"); sw.WriteLine("^XA^PW709^LH0,0^FO" + txt_x + "," + txt_y); sw.WriteLine("^CF" + txt_font + "," + txt_size); sw.WriteLine("^FD" + sn + "^FS"); sw.WriteLine("#CN_DATA1#;|黑体,粗体|20|10|"); sw.WriteLine("^BY" + barcode_width + ",3.0"); sw.WriteLine("^FO" + barcode_x + "," + barcode_y); sw.WriteLine("^B7N," + barcode_height + ",2,,,N"); sw.WriteLine("^FD#ID1#^FS^PQ1,0,1,Y^XZ"); sw.Close(); ZebraPrinter printer = new ZebraPrinter(); string str = string.Concat(" ", "~", sn); string printPath = "pdf417.TXT"; printer.PrintLabEx(printPath, str, print_name); } /// <summary> /// QR条码天生 /// </summary> /// <param name="sn">条码内容</param> /// <param name="txt_x">文本X位置</param> /// <param name="txt_y">文本Y位置</param> /// <param name="txt_font">文本字体</param> /// <param name="txt_size">文今年夜小</param> /// <param name="barcode_x">二维码X位置</param> /// <param name="barcode_y">二维码Y位置</param> /// <param name="barcode_Magnification">二维码放大系数</param> /// <param name="ErrorCorrectionLevel">二维码纠错级别</param> /// <param name="print_name">打印机名称</param> public void Print_QR(string sn, string txt_x, string txt_y, string txt_font, string txt_size, string barcode_x, string barcode_y, string barcode_Magnification, string ErrorCorrectionLevel, string print_name) { FileStream F = new FileStream("QR.TXT", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); F.Close(); StreamWriter sw = new StreamWriter("QR.TXT"); //第一段笔墨 sw.WriteLine("^XA^LH0,0^FO" + txt_x + "," + txt_y); sw.WriteLine("^CF" + txt_font + "," + txt_size); sw.WriteLine("^FD" + sn + "^FS"); //占位字符 sw.WriteLine("#CN_DATA1#;|黑体,粗体|20|10|"); //二维码 sw.WriteLine("^FO" + barcode_x + "," + barcode_y); sw.WriteLine("^BQN,2," + barcode_Magnification); sw.WriteLine("^FD" + ErrorCorrectionLevel + "A,#ID1#^FS^PQ1,0,1,Y^XZ"); sw.Close(); ZebraPrinter printer = new ZebraPrinter(); string str = string.Concat(" ", "~", sn); string printPath = "QR.TXT"; printer.PrintLabEx(printPath, str, print_name); } private void button1_Click(object sender, EventArgs e) { if(comboBox1.SelectedIndex==0) { zp.Print_code128(textBox1.Text, "250", "75","0","50","4","80","5","60", printName); } else if(comboBox1.SelectedIndex == 1) { zp.Print_pdf417(textBox1.Text, "90", "75", "0", "50", "5", "150", "70", "8", printName); } else { zp.Print_QR(textBox1.Text,"160","20","0","80","50","0","4","H",printName); } }

完全代码已上传,须要的关注我后私信发送“ZPL打印”即可获取。

标签:

相关文章

大数据湖泊,数字经济时代的数据宝库

随着信息技术的飞速发展,大数据已经成为推动经济社会发展的关键力量。在这个数字化的时代,大数据湖泊成为了人们获取信息、分析趋势、创新...

网站推广 2024-12-16 阅读0 评论0

大数据潜能,引领未来发展的智慧引擎

随着信息技术的飞速发展,大数据已经成为当今社会的重要资源。它不仅为各行各业提供了丰富的数据支持,更为我们揭示了世界运行的规律。本文...

网站推广 2024-12-16 阅读0 评论0