//---- program.cs
using System;
using System.Collections.Generic;using System.Windows.Forms;using System.Runtime.InteropServices;
public class TSCLIB_DLL{ [DllImport("TSCLIB.dll", EntryPoint = "about")] 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); } namespace TSCLIB_DLL_IN_C_Sharp{ static class Program { /// <summary> /// 應用程式的主要進入點。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }}
//----Form1.cs
using System;
using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace TSCLIB_DLL_IN_C_Sharp
{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }private void button1_Click(object sender, EventArgs e)
{ //TSCLIB_DLL.about(); //Show the DLL version TSCLIB_DLL.openport("TSC TTP-344M Plus"); //Open specified printer driver TSCLIB_DLL.setup("100", "63.5", "4", "8", "0", "0", "0"); //Setup the media size and sensor type info TSCLIB_DLL.clearbuffer(); //Clear image buffer TSCLIB_DLL.barcode("100", "100", "128", "100", "1", "0", "2", "2", "Barcode Test"); //Drawing barcode TSCLIB_DLL.printerfont("100", "250", "3", "0", "1", "1", "Print Font Test"); //Drawing printer font TSCLIB_DLL.windowsfont(100, 300, 24, 0, 0, 0, "ARIAL", "Windows Arial Font Test"); //Draw windows font TSCLIB_DLL.downloadpcx("UL.PCX", "UL.PCX"); //Download PCX file into printer TSCLIB_DLL.sendcommand("PUTPCX 100,400,"UL.PCX""); //Drawing PCX graphic TSCLIB_DLL.printlabel("1", "1"); //Print labels TSCLIB_DLL.closeport(); //Close specified printer driver } }}
//------ 另例
[System.Runtime.InteropServices.DllImport("tsclib.dll")]
private static extern void windowsfont(int a, int b, int c,int d,int e ,int f, string g ,string h); [System.Runtime.InteropServices.DllImport("tsclib.dll")] private static extern void openport(string printername); [System.Runtime.InteropServices.DllImport("tsclib.dll")] private static extern void closeport(); [System.Runtime.InteropServices.DllImport("tsclib.dll")] private static extern void sendcommand(string command); [System.Runtime.InteropServices.DllImport("tsclib.dll")] private static extern void setup(string width,string height,string speed,string density,string sensor,string vertical,string offset); [System.Runtime.InteropServices.DllImport("tsclib.dll")] private static extern void clearbuffer(); [System.Runtime.InteropServices.DllImport("tsclib.dll")] private static extern void printlabel(string Set,string Copy); private void button1_Click(object sender, System.EventArgs e) { openport("TSC TTP-343"); setup("100","65","3","10","0","3","0"); clearbuffer(); windowsfont(50,30,70,0,0,0,"黑体","索书号:"); printlabel("1", "1"); closeport(); }
#region 调用TSC打印机打印条码
/// <summary> /// 调用TSC打印机打印条码 /// </summary> /// <param name="title">打印的标题</param> /// <param name="barCode">打印的条码编号</param> public static void TSC(string title, string barCode) { // 打开 打印机 端口. TSCLIB_DLL.openport(p_port); // 设置标签 宽度、高度 等信息. // 宽 94mm 高 25mm // 速度为4 // 字体浓度为8 // 使用垂直間距感測器(gap sensor) // 两个标签之间的 间距为 3.5mm TSCLIB_DLL.setup("94", "25", "4", "8", "0", "3.5", "0"); // 清除缓冲信息 TSCLIB_DLL.clearbuffer(); // 发送 TSPL 指令. // 设置 打印的方向. TSCLIB_DLL.sendcommand("DIRECTION 1"); // 打印文本信息. // 在 (176, 16) 的坐标上 // 字体高度为34 // 旋转的角度为 0 度 // 2 表示 粗体. // 文字没有下划线. // 字体为 黑体. // 打印的内容为:title TSCLIB_DLL.windowsfont(176, 16, 34, 0, 2, 0, "宋体", title); // 打印条码. // 在 (176, 66) 的坐标上 // 以 Code39 的条码方式 // 条码高度 130 // 打印条码的同时,还打印条码的文本信息. // 旋转的角度为 0 度 // 条码 宽 窄 比例因子为 7:12 // 条码内容为:barCode TSCLIB_DLL.barcode("176", "66", "39", "130", "1", "0", "7", "12", barCode); // 打印. TSCLIB_DLL.printlabel("1", "1"); // 关闭 打印机 端口 TSCLIB_DLL.closeport(); }#endregion