80热敏打印机打印TxPrnMod.dll

使用TxPrnMod.dll这个DLL使用热敏打印机

有个问题一直没解决,因为格式问题,所以我选择的是图片打印,但是图片打印输出的时候 带上表格边框就打印乱码,如果不带表格边框就是好的 很尴尬。

public class PrinterAPI
    {
        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static bool TxOpenPrinter(int type, int Idx); //初始化 1使用usb链接
                                                                    //        这个函数是在使用打印机时,第一要用到的函数
                                                                    //其中的Type 见前面的定义,若等于1 就是使用USB 口,Idx 从0 开始,是指端口号
                                                                    //比如使用串口的话,Idx=0,就是用com1,=1 就是用com2。
                                                                    //使用USB 的话,Idx=0,就是本打印机第1 次插到电脑的USB 口生成的那个USB00x,如果
                                                                    //同时电脑的USB 同时插了
                                                                    //2 台USB 的打印机,那么Idx=1,就是使用第2 台的打印


        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static string TxGetStatus(); //获取打印机状态
                                                   //#define TX_STAT_NOERROR 0x0008 无故障
                                                   //#define TX_STAT_SELECT 0x0010 处于联机状态
                                                   //#define TX_STAT_PAPEREND 0x0020 缺纸
                                                   //#define TX_STAT_BUSY 0x0080 繁忙
                                                   //#define TX_STAT_DRAW_HIGH 0x0100 钱箱接口的电平(整机使用的,模块无用)
                                                   //#define TX_STAT_COVER 0x0200 打印机机芯的盖子打开
                                                   //#define TX_STAT_ERROR 0x0400 打印机错误
                                                   //#define TX_STAT_RCV_ERR 0x0800 可恢复错误(需要人工干预)
                                                   //#define TX_STAT_CUT_ERR 0x1000 切刀错误
                                                   //#define TX_STAT_URCV_ERR 0x2000 不可恢复错误
                                                   //#define TX_STAT_ARCV_ERR 0x4000 可自动恢复的错误
                                                   //#define TX_STAT_PAPER_NE 0x8000 快要没有纸了

        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static void TxClosePrinter();//关闭所有打印机

        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static void TxInit();//初始化打印机

        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static void TxOutputString(StringBuilder str); //输出字符串(以\0 结束)

        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static void TxOutputStringLn(StringBuilder str); //输出字符串(以\0 结束),并自动添加回车、换行

        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static void TxDoFunction(int func, int par1, int par2); //输出字符串(以\0 结束),并自动添加回车、换行

        [DllImport("TxPrnMod.dll", CharSet = CharSet.Ansi)]
        public extern static bool TxPrintImage(string str);//打印IMG 
    }
            PrinterAPI.TxInit();
            PrinterAPI.TxOpenPrinter(1, 0);
            bool flag = PrinterAPI.TxPrintImage(Application.StartupPath + "\\SaveFIle\\1.png");
            if (flag)
            {
                //走纸
                PrinterAPI.TxDoFunction(10, 200, 0);
                //切纸
                PrinterAPI.TxDoFunction(12, 0, 0);
                PrinterAPI.TxClosePrinter();
            }

 

转载于:https://www.cnblogs.com/Sprince/p/9358422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值