C# 控制TSC打印机功能

本文介绍了一个用于控制打印机并监测其状态的C#类库。该库通过调用TSCLIB.dll实现打印机的初始化、标签内容打印、状态查询等功能。文章详细展示了如何使用这些功能进行打印任务,并提供了具体示例。

核心代码

    public class PrinterHelper
    {
        /// <summary>
        /// 更新线程
        /// </summary>
        Thread m_Thread;

        /// <summary>
        /// 线程阻塞
        /// </summary>
        AutoResetEvent m_ResetEvent = new AutoResetEvent(true);

        /// <summary>
        /// 是否工作
        /// </summary>
        bool m_ThreadIsWork = false;

        /// <summary>
        /// 是否阻塞
        /// </summary>
        bool m_ThreadIsPause = true;

        /// <summary>
        /// 服务器状态
        /// </summary>
        public delegate void PrinterStatusEventDelegate(int Status, string Message);
        /// <summary>
        /// 服务器状态
        /// </summary>
        public event PrinterStatusEventDelegate PrinterStatus;

        /// <summary>
        /// 打印机名称
        /// </summary>
        private static string m_PrinterName = string.Empty;

        public PrinterHelper(string PrinterName)
        {
            m_PrinterName = PrinterName;

            this.m_Thread = new Thread(new ThreadStart(this.WorkThreedFun));
            this.m_Thread.IsBackground = true;
            this.m_Thread.Start();

            this.m_ThreadIsWork = true;
            this.m_ThreadIsPause = false;
            this.m_ResetEvent.Set();
        }


        [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 = "sendBinaryData")]
        public static extern int sendBinaryData(byte[] content, int length);

        //功能:繪製QRCODE二維條碼
        //語法:
        //QRCODE X, Y, ECC Level, cell width, mode, rotation, [model, mask,]"Data string”
        //參數說明
        //X QRCODE條碼左上角X座標
        //Y QRCODE條碼左上角Y座
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值