分享 tsc 条码打印机 打印控件 调用方法 , c# silverlight
下载 TSCLIB.dll
http://download.csdn.net/detail/peiyu_peiyu/4789714 或 网上搜索 TSCLIB.dll
复制到 windows\system 文件夹下
c#
public class tcsBasePrint
{
//[DllImport("TSCLib.dll")]
//public static extern int sendcommand(string command);//open connect port
//[DllImport("TSCLib.dll")]
//public static extern int openport(string port);//open connect port
//[DllImport("TSCLib.dll")]
//public static extern int closeport();//close connect port
//[DllImport("TSCLib.dll")]
///*
// width:列印宽度,单位mm
// height:列印长度,单位mm
// speed:列印速度 4.0 代表每秒4英寸速度
// density:列印浓度 0-15 越大表示浓度越高
// sensor:设定感测器类别 0 表示垂直感测器,1 表示黑标感测器
// vertical:设定间距高度
// pchar:设定偏移间距 0 参数一般设为0
// */
//public static extern int setup(string width, string height, string speed, string density, string sensor, string vertical, string pchar);
//[DllImport("TSCLib.dll")]
//public static extern int clearbuffer();//clear buffer
//[DllImport("TSCLib.dll")]
///*
// x:字串型別,條碼X 方向起始點,以點(point)表示。(200 DPI,1 點=1/8 mm, 300 DPI,1 點=1/12 mm)
// y:条码Y方向起始点
// codeType:条码类型(128,39,93等)
// height:代表条码的高度,高度以点来表示
// readable:设定是否列印条码码文
// rotation:设定条码的旋转角度
// narrow:设定条码窄的比例因子
// wide:设定条码宽的比例因子
// code:条码内容
// pchar:设定偏移间距 0 参数一般设为0
// */
///*
// narrow : wide
// 1:1
// narrow : wide
// 1:2
// narrow : wide
// 1:3
// narrow : wide
// 2:5
// narrow : wide
// 3:7
// */
//public static extern int barcode(string x, string y, string codeType, string height, string readable, string rotation, string narrow, string wide, string code, string pchar);
//[DllImport("TSCLib.dll")]
///*
// x:文字X方向起始点
// y:文字Y方向起始点
// fontName:文字类型
// rotation:文字旋转角度
// xmul:设定文字X方向的放大倍率
// ymul:设定文字Y方向的放大倍率
// content:列印文字的内容
// */
//public static extern int printerfont(string x, string y, string fontName, string rotation, string xmul, string ymul, string content);
//[DllImport("TSCLib.dll")]
///*
// x:文字X方向起始点
// y:文字Y方向起始点
// fontHeight:字体高度
// rotation:文字旋转角度
// fontStyle:字体外形
// fontUnderline:底线
// faceName:字体名称
// content:列印内容
// */
//public static extern int windowsfont(int x, int y, int fontHeight, int rotation, int fontStyle, int fontUnderline, string faceName, string content);
//[DllImport("TSCLib.dll")]
///*
//打印设置
// a为式数
// b为份数
//*/
//public static extern int printlabel(string a, string b);
//[DllImport("TSCLib.dll")]
///*
// 设定打印后回卷
// */
//public static extern int formfeed();
//[DllImport("TSCLib.dll")]
///*
// 设定打印不后回卷
//*/
//public static extern int nobackfeed();
[DllImport("TSCLIB.dll")]
public static extern int about();
[DllImport("TSCLIB.dll", EntryPoint = "openport")]
public static extern int openport(string printername);
[DllImport("TSCLIB.dll", EntryPoint = "barcode")]
public static extern int barcode(string x, string y, string type, string height, string readable, string rotation, string narrow, string wide, string code);
[DllImport("TSCLIB.dll", EntryPoint = "clearbuffer")]
public static extern int clearbuffer();
[DllImport("TSCLIB.dll", EntryPoint = "closeport")]
public static extern int closeport();
[DllImport("TSCLIB.dll", EntryPoint = "downloadpcx")]
public static extern int downloadpcx(string filename, string image_name);
[DllImport("TSCLIB.dll", EntryPoint = "formfeed")]
public static extern int formfeed();
[DllImport("TSCLIB.dll", EntryPoint = "nobackfeed")]
public static extern int nobackfeed();
[DllImport("TSCLIB.dll", EntryPoint = "printerfont")]
public static extern int printerfont(string x, string y, string fonttype, string rotation, string xmul, string ymul, string text);
[DllImport("TSCLIB.dll", EntryPoint = "printlabel")]
public static extern int printlabel(string set, string copy);
[DllImport("TSCLIB.dll", EntryPoint = "sendcommand")]
public static extern int sendcommand(string printercommand);
[DllImport("TSCLIB.dll", EntryPoint = "setup")]
public static extern int setup(string width, string height, string speed, string density, string sensor, string vertical, string offset);
[DllImport("TSCLIB.dll", EntryPoint = "windowsfont")]
public static extern int windowsfont(int x, int y, int fontheight, int rotation, int fontstyle, int fontunderline, string szFaceName, string content);
}
调用:
return printobj.tcsBasePrint.about();
printobj.tcsBasePrint.openport(prot); // // prot 打印机名称 从 控制面板 ”设备和打印机“ 拷贝即可
printobj.tcsBasePrint.clearbuffer();
printobj.tcsBasePrint.windowsfont(x, y, 20,"0", 2, 0, "微软雅黑", strt1);//X Y 坐标 strt1 字符串
switch (barcodetype.ToLower())
{
case "128":
case "39":
printobj.tcsBasePrint.barcode(x.ToString(), y.ToString(), barcodetype, "20", "1", "0", "2", "1", strt1);
break;
case "qr":
printobj.tcsBasePrint.sendcommand("QRCODE " + x.ToString() + "," + y.ToString() + ",M,7,A,0,\"" + strt1 + "\"");
break;
case "pdf417":
printobj.tcsBasePrint.sendcommand("PDF417 " + x.ToString() + "," + y.ToString() + ",300,200," + (modelhead.i03.Value + 180).ToString() + ",\"" + strt1 + "\"");
break;
}
// System.Threading.Thread.Sleep(10);
continue;
}
}
printobj.tcsBasePrint.printlabel("1", "1");
printobj.tcsBasePrint.closeport();