C#关于 斑马RFID打印机的使用
1.连接
这里使用的是usb连接方式,在安装完驱动和官方设置程序后,在vs里安装官方sdk,调用sdk连接打印机
vs安装->工具->nuget包管理器->管理解决方案的nuget程序包
安装完引用就好
zpl中文指南百度云
链接:https://pan.baidu.com/s/1kiIt-jlZ_SZMu0h-r0FqRA
提取码:1101
官方设计软件,可测试rfid可以将设计好的标签模板打印到本地,获取zpl格式代码,改变量
官方SDK安装包需要Java环境,包里没找到可以直接引用的dll,引用时都报错,不过可以看一下tcp/ip连接、蓝牙连接的代码介绍
代码:
using System;
using System.Windows.Forms;
using Zebra.Sdk.Comm;
using Zebra.Sdk.Printer;
using Zebra.Sdk.Printer.Discovery;
namespace bmcs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Example3(string name)
{
Connection connection = new UsbConnection(name);
try
{
connection.Open();
ZebraPrinter printer = ZebraPrinterFactory.GetInstance(connection);
printer.SendFileContents("E:\\打印机测试\\123.txt");
}
catch (ConnectionException e)
{
MessageBox.Show(e.ToString());
}
catch (ZebraPrinterLanguageUnknownException e)
{
MessageBox.Show(e.ToString());
}
finally
{
connection.Close();
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
foreach (DiscoveredPrinterDriver printer in UsbDiscoverer.GetZebraDriverPrinters())
{
//获取的打印机名称
MessageBox.Show(printer.ToString());
}
string name = "";
foreach (DiscoveredUsbPrinter usbPrinter in UsbDiscoverer.GetZebraUsbPrinters(new ZebraPrinterFilter()))
{
//打印机连接
name = usbPrinter.ToString();
MessageBox.Show("USB:"+usbPrinter.ToString());
}
//将zpl语句写入本地txt文档
Writetxt();
//将我本地文档发送至打印机
Example3(name);
}
catch (ConnectionException ex)
{
MessageBox.Show("Err:" + ex.Message);
}
}
public void Writetxt()
{
string tmpfile = "E:\\打印机测试\\123.txt";
string str = "";
str = "^XA";//格式开头
str += "^RS8,,,1";
str += "^CI28";//28可打印中文,26中文乱码,其他未测试
str += "^CW1,E: SIMSUN.TTF";//设置中文字体
str += "^FO200,200^A1N,48,48^FD中文测试^FS ";//打印中文
str += "^FO60,290^A0N,65^FD123-546^FS";
str += "^RFW,H,,,3^FD1008611^FS";//与下方代码连用才可以写入rfid
str += "^FO50,50^ADN,36,20^1008611^FS";//两句连用才可以
str += "^PQ1";
str += "^XZ";//格式结尾
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(tmpfile))
{
sw.Write(str.ToString());
}
}
}
}
最后,斑马技术支持邮箱:tscn@zebra.com