引言
“热敏打印机的工作原理是打印头上安装有半导体加热元件,打印头加热并接触热敏打印纸后就可以打印出需要的图案,其原理与热敏式传真机类似。图象是通过加热,在膜中产生化学反应而生成的。这种热敏打印机化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于60℃时,纸需要经过相当长,甚至长达几年的时间才能变成深色;而当温度为200℃时,这种反映会在几微秒内完成。”——百度百科
众所周知,之所以安装打印机驱动,一个重要的原因就是打印机厂商千差万别,不同的打印机往往都有各自的驱动,很难实现万能驱动。但是,在 POS 打印机行业却有一条捷径,就是现在市面上的 POS 打印机基本上都支持爱普生指令,也就是说,只要将程序和打印机联通,直接向端口里面写爱普生指令就可以控制打印机。打印机接受到爱普生指令以后,自行进行解析,然后打印出相应的内容。——Java 实现 POS 打印机无驱打印
python-escpos是一个可以让用户来访问那些支持ESC/POS命令的打印机的Python库。因此利用它即可完成实现在树莓派下的无驱打印功能。
本文在 Raspbian上测试通过。
需要安装的依赖软件
PyUSB
PyUSB 1.0 并不是Ubuntu的标配软件,需要手动下载和安装:
1、从Sourceforge 上面下载最新的tarbell
2、解压zip文件
3、安装库
> wget ...> unzip pyusb*.zip> cd pyusb*> python setup.py build> sudo python setup.py install python-qrcode
> git clone https://github.com/lincolnloop/python-qrcode> cd python-qrcode> python setup.py build> sudo python setup.py install
安装escpos 1.0-1> wget http://python-escpos.googlecode.com/files/python-escpos-1.0.tgz> tar zxvf python-escpos-1.0.tgz> cd python-escpos-1.0> python setup.py build> sudo python setup.py install
阅读ESCPOS中的README,设置打印机并打印。
1、需要安装的软件
* pyusb (python-usb) * PIL (Python Image Library)
可以使用命令
apt-get install python-imaging python-usb python2.7-usbtc08 python-serial
进行安装。
2、定义打印机
用命令 “lsusb” 获取到当前打印机的"Vendor ID" 和"Product ID"
假如获取到的是0x04b8:0x0202,
3、定义打印机实例
输入下述代码,用python执行:
from escpos import *
""" Seiko Epson Corp. Receipt Printer M129 Definitions (EPSON TM-T88IV) """
Epson = escpos.Escpos(0x04b8,0x0202,0)
Epson.text("Hello World")
Epson.image("logo.gif")
Epson.barcode
Epson.barcode('1324354657687','EAN13',64,2,'','')
Epson.cut()
如果一切正常,则打印出“Hello World”以及一副图片,还有条形码。
参考文献:
https://code.google.com/p/python-escpos/wiki/Usage
from:http://blog.csdn.net/fashionxu/article/details/9000761
|