zoukankan      html  css  js  c++  java
  • Epson Pos Printer for .net

    注:因发现各网站爬虫随意收集文章,故做此声明:版权归原作者(Leaf.Duan)所有,转载还请著名出处,谢谢

    设备信息

    Epson TM-T88IV Thermal Printer,爱普生 TM-T88IV 热敏式打印机,主要用来打印票据(receipt)

    操作系统:windows 7 Ultimate x64

    环境配置

    要利用 Microsoft Point of Service for .NET,针对 Epson 的设备,要下载以下两个安装包,以及做适当配置:

    1. Microsoft Point of Service for .NET v1.12 下载 

        PS:发现最新版 v1.14,EPSON 是不支持,用此 API 找不到设备

    2. EPSON OPOS ADK for .NET 下载

    要先安装微软的那个,再安装爱普生的那个。安装好了这两个东西,就要利用爱普生的 SetupPOS 给物理设备 Printer 映射一个逻辑名 Logical Name,用于程序使用。

    本人使用的是 Wire Network 方式,因此需要设置 Printer 的 IP 地址,可以参考 How to Setting EPSON TM-T88IV Printer IP Address 

    打印

    接下来应该就是实战阶段,如何代码操作打印,这是我的一个封装 PosPrinter.cs 代码在 Github 上面,具体使用不需要做说明了吧。

    *Receipt Template*

    打印内容模板问题,关于此,网络资料真实稀缺,例如要打印如下内容:

                 Leaf.Duan

       0001

                 *请留意叫号

           22:53:18 18-June-2014

    有字体加粗,加大,以及拉伸,文字居中对齐等基本格式控制,还有关于调节纸张间距 Feed 控制和 Cut Paper 设置等等,具体可以参考 Microsoft API ,给一个如上 Receipt Template:

     1 /*
     2 ESC|cAESC|4C{1}{0}{0}{0}ESC|bCESC|5hCESC|5vC{2}{0}ESC|NESC|cAESC|4C{0}{0}{3}{0}{0}{0}ESC|NESC|cA{4}{0}ESC|5lFESC|100P
     3 **/
     4 
     5 ESC|cA       // 文本居中
     6 ESC|4C       // 位置大小加倍(高宽加倍)
     7 Leaf.Duan    // {1}
     8 {0}
     9 {0}
    10 {0}
    11 ESC|bC       // 字体加粗
    12 ESC|5hC      // 水平拉伸 513 ESC|5vC      // 垂直拉伸 514 0001         // {2}
    15 {0}
    16 ESC|N         // 设置恢复正常,默认设置 
    17 ESC|cA        // 文字居中
    18 ESC|4C        // 文字大小加倍
    19 {0}
    20 {0}
    21 *请留意叫号    // {3}
    22 {0}
    23 {0}
    24 {0}
    25 ESC|N         // 设置恢复正常,默认设置 
    26 ESC|cA        // 文字居中
    27 22:55:18 18-June-2014  // {4}
    28 {0}
    29 ESC|5lF       // Feed 530 ESC|100P      // Cut Paper 100%,就是剪纸 100%,具体比例可以按需求设置
    31 
    32 /* 以上 {0} 代表换行 Environment.NewLine; ESC 可以用 x1B 代替,不过要注意转义; ESC 也可以用 ((char) 27).ToString() 做 Replace  */

    疑问

    如何使用 EPSON 打印机驱动 API,如 StatusAPI 进行打印?因为 EPSON 官方文档实在是混乱和不利于开发者,所以没有研究,不知道诸位博友有没有此实现方式可供大家分享。

    总结

    因为关于此的信息在网络上实在是零碎,故做此文以整理。因时间仓促,探究深度有限,还望博友分享各自经验。

    PS:如何发现同一网络内的 EPSON 设备,可以下载软件 EpsonNet Config 来查看,很是方便

  • 相关阅读:
    hdu 1873 看病要排队
    母函数详解
    【RDMA】无损网络和PFC(基于优先级的流量控制)
    图解Linux网络包接收过程
    结对编程 <==> 断背山?
    CMPP和SMPP协议比较
    Berkerly DB、SQL Server的性能比较
    使用Berkeley DB遇到问题了
    重新学习C语言
    超长短信的处理办法
  • 原文地址:https://www.cnblogs.com/ranmofang/p/3795553.html
Copyright © 2011-2022 走看看