注:因发现各网站爬虫随意收集文章,故作此声明:版权归原做者(Leaf.Duan)全部,转载还请著名出处,谢谢php
设备信息git
Epson TM-T88IV Thermal Printer,爱普生 TM-T88IV 热敏式打印机,主要用来打印票据(receipt)github
操做系统:windows 7 Ultimate x64windows
环境配置网络
要利用 Microsoft Point of Service for .NET,针对 Epson 的设备,要下载如下两个安装包,以及作适当配置:less
1. Microsoft Point of Service for .NET v1.12 下载 字体
PS:发现最新版 v1.14,EPSON 是不支持,用此 API 找不到设备网站
2. EPSON OPOS ADK for .NET 下载spa
要先安装微软的那个,再安装爱普生的那个。安装好了这两个东西,就要利用爱普生的 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 // 水平拉伸 5 倍 13 ESC|5vC // 垂直拉伸 5 倍 14 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 5 行 30 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 来查看,非常方便