该文介绍东芝打印机通过发送指令集上的指令进行打印文字、二维码、条形码等操作。
东芝指令集文档下载地址:https://download.csdn.net/download/horseroll/10901106
指令集文档无积分下载地址:https://download.csdn.net/download/HorseRoll/21113141
源码下载地址:https://download.csdn.net/download/horseroll/10901101
源码无积分下载地址:https://download.csdn.net/download/HorseRoll/21113173
打印效果图:
可以通过TCP或者串口发送如下测试打印指令看是否能打印出内容,确保打印机连接没任何故障
string neong = @"{D0320,0701,0300|}
{C|}
{PC000;0000,0066,1,1,r,00,B=[单位名称] 漂精片 330克/瓶*20瓶|}
{XB00;0086,0091,A,3,03,0,0128,+0000000000,000,0,00=>502662346789098339991|}
{PC001;0058,0250,1,1,r,00,B=02662346789098339991|}
{XS;I,0001,0002C6000|}";
上图中的效果图的指令集,只要发送以下内容到打印机,即可打印出如上效果图的内容,依样画葫芦
string neong=@"{D0820,0500,0800|}
{C|}{PC00;0078,0675,1,2,r,33,B=贵州茅台酒厂(集团)白金酒有限责任公司|}
{PC01;0200,0750,1,1,r,33,B=产品:茅台白金酒|}
{PC02;0275,0750,1,1,r,33,B=生产日期:2018年12月3日[合格]|}
{PC03;0350,0750,1,1,r,33,B=批号:181818|}
{PC04;0425,0750,1,1,r,33,B=箱号:1232123123|}
{XB05;0175,0300,T,H,05,A,3,M2=http://s.iso315.org/ys/gzmtdy.htm?fwm=0000111100001111|}
{XS;I,0001,0002C6000|}"
具体每条指令的参数,在指令集里面都详细有写,去看指令集即可。我这里封装了几个指令方法,有需要的自行拿去
/// <summary>
/// 绘制二维码
/// </summary>
/// <param name="id"></param>
/// <param name="XPosition"></param>
/// <param name="YPosition"></param>
/// <param name="ErrorLevel">二维码纠错等级</param>
/// <param name="Width">二维码宽度</param>
/// <param name="Rotation">旋转。0,1,2,3</param>
/// <param name="Data">二维码内容</param>
/// <returns></returns>
public string DrawQrCode(int id, int XPosition, int YPosition, string ErrorLevel, int Width, int Rotation, string Data)
{
//{XB00;0086,0091,T,H,14,A,0,M2=13231321321|}
string drawstr = "{XB" + id.ToString().PadLeft(2, '0') + ";" + XPosition.ToString().PadLeft(4, '0') + "," + YPosition.ToString().PadLeft(4, '0') + ",T," + ErrorLevel + "," + Width.ToString().PadLeft(2, '0') + ",A," + Rotation.ToString() + ",M2=" + Data + "|}\r\n";
return drawstr;
}
/// <summary>
/// 绘制文字
/// </summary>
/// <param name="id"></param>
/// <param name="XPosition"></param>
/// <param name="YPosition"></param>
/// <param name="HBeishu">宽度</param>
/// <param name="SBeishu">高度</param>
/// <param name="Data"></param>
/// <returns></returns>
public string DrawString(int id, int XPosition, int YPosition, int HBeishu, int SBeishu, string Data)
{
string drawstr = "{PC" + id.ToString().PadLeft(2, '0') + ";" + XPosition.ToString().PadLeft(4, '0') + "," + YPosition.ToString().PadLeft(4, '0') + "," + HBeishu + "," + SBeishu + ",r,33,B=" + Data + "|}\r\n";
return drawstr;
}