NWJS(NodeJS)调用打印机 - 打印小票

1 背景

架构设计:VueJS + Spring Cloud微服务架构

功能要求:

  • 调用小票打印机打印小票,功能和超市收银结算功能相同
  • 使用NWJS包装VueJS前端代码实现exe安装包和可执行文件

2 调查

经过调查,主要有如下几种思路。

2.1 思路1:使用IP+Port方式调用网络打印机

代码如下,只需要调用node的net模块即可。详情请看参考1。

var net = require('net');
var client = new net.Socket();
var buffer; // Buffer类型,放你的打印指令,具体的小票打印指令可以搜索ESC/POS指令
client.connect(port, ip, function () {
    client.write(buffer, function(){});
});

这种方式没有去尝试,因为不清楚IP地址和端口。这边的需求是小票机直连PC的,不是网络方式。

2.2 思路2:NodeJS IPP协议

Github上有一个project名为ipp,Internet Printing Protocol即网络打印协议。IPP协议始于90年代,一直沿用至今。目前有数以百万计的打印机都支持该协议。

可以使用如下方式验证你的打印机是否支持IPP协议:

  • 查看说明书
  • telnet YOUR_PRINTER 631,如果通,那么肯定支持
  • 运行ipp提供的方法(

你可能感兴趣的:(项目中的那些事,NWJS打印,NodeJS打印,前端小票打印)