zoukankan      html  css  js  c++  java
  • POS58票据热敏打印机,怎么用ESC/POS命令控制打印文字大小?

    使用的是POS58票据热敏打印机,怎么控制文字大小?
    我知道ESC/POS指令,可不会用。
    ASCII :ESC ! n
    十进制 :27 33 n
    十六进制:1B 21 n

    在C#里用十进制,是不是(char)(27)+(char)(33)+(char)(n)就可以把文字放大一倍打印了?
    主要是想放大文字打印。n不知道取多少? 是48吗?

    比如要将"中国"这个字符串放大一倍打印,具体怎么写的?

    ____________________________________________________

    经过多次尝试,终于搞懂了.

    先用字符的形式发送命令:

    send = "" + (char)(27) + (char)(64) + (char)(27) + (char)(33) + (char)(48);

                for (int i = 0; i < send.Length; i++)
                {
                    buf[i] = (byte)send[i];
                }

                fs.Write(buf, 0, buf.Length);

     解释:  (char)(27) + (char)(64)是将打印机初始化, (char)(27) + (char)(33) + (char)(48); 是设置打印字符格式命令,最后的48可以为0,16,32,48

    接着直接打印输出:

    printLPT.PrintData("中国" );

    欢迎有同类问题的朋友指教!

    *************************************************************************************

    更正:其实可以把控制命令字符和输出字符写在一起.不管用什么方式,如果是多条数据就要在一个输出程序里同时输出,而不要写成函数的形式来调用,那样是不会成功的.这是我经过一天一夜研究出来的结果,网上也能找到ESC/POS打印指令使用的程序,人家就是写在一起的,但没有控制字符大小的例子.我自作聪明的把它改成一个函数,费了一天一夜的功夫才发现走了弯路.不过也值得,终于弄懂了ESC/POS指令怎么用了.

  • 相关阅读:
    mit课程ocw-business
    2016中国人工智能企业TOP100, CBinsight2016年100家人工智能公司
    excel2013做数据透视表
    Mac OS X中,有三种方式来实现启动项的配置
    macbook双网卡路由
    怎么比较两个list中相同的值个数!
    创业圈必备英语
    全球最牛的100家AI创企:有多少独角兽?
    Java中字符串为什么不以结尾
    详解PPP模式下的产业投资基金运作【基金管理】
  • 原文地址:https://www.cnblogs.com/Tmouse/p/1711490.html
Copyright © 2011-2022 走看看