引言

“热敏打印机的工作原理是打印头上安装有半导体加热元件,打印头加热并接触热敏打印纸后就可以打印出需要的图案,其原理与热敏式传真机类似。图象是通过加热,在膜中产生化学反应而生成的。这种热敏打印机化学反应是在一定的温度下进行的。高温会加速这种化学反应。当温度低于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/RaspberryPi

https://code.google.com/p/python-escpos/wiki/Usage

利用树莓派完成热敏打印机的无驱打印相关推荐

  1. java usb 无驱打印_Windows Usb 无驱动打印

    \?\USB#VID_8866&PID_0100#0001B0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USB小票打印解决办法 一.需要驱动, ...

  2. java 打印机类printer_GitHub - 505058216/thermal_printer: Java实现网络小票打印机自定义无驱打印...

    Java实现POS打印机自定义无驱打印 热敏打印机使用越来越广泛,而安装驱动相当复杂,万幸的是,几乎所有的热敏打印机都支持ESC/P指令,参考网络上一些资料后,在此整理了一份自定义打印的方案 • 打印 ...

  3. java 小票打印_GitHub - SubLuLu/thermal_printer: Java实现网络小票打印机自定义无驱打印...

    Java实现POS打印机自定义无驱打印 热敏打印机使用越来越广泛,而安装驱动相当复杂,万幸的是,几乎所有的热敏打印机都支持ESC/P指令,参考网络上一些资料后,在此整理了一份自定义打印的方案 • 打印 ...

  4. [转]Java 实现 POS 打印机无驱打印

    来源:http://www.ibm.com/developerworks/cn/java/j-lo-pos/ Java 实现 POS 打印机无驱打印 文档选项 <tr valign=" ...

  5. Java 实现 POS 打印机无驱打印 【转】

    Java 对硬件的控制一直以来都不是其强项,特别是打印,Java 很难实现对 POS 打印机的直接控制,并判断打印是否成功.本文将探讨一种方法,讲述如何使用 Java 技术与网口的 POS 打印机连接 ...

  6. java pos打印机_Java实现POS打印机自定义无驱打印

    热敏打印机使用越来越广泛,而安装驱动相当复杂,万幸的是,几乎所有的热敏打印机都支持ESC/P指令,参考网络上一些资料后,在此整理了一份自定义打印的方案 • 打印模板为了增强打印效果的通用性,因此需要提 ...

  7. java socket 打印机_Java使用POS打印机(无驱)

    使用原因:应项目要求,需要使用打印机,但是如果使用Windows驱动来实现打印,在某些条件下会发生网络堵塞等,而且没有提示,所以为了确保信息的完整,避免数据丢失.我们使用无驱打印(直接写端口的方法), ...

  8. 【利用树莓派制作无线打印服务器】

    利用树莓派制作无线打印服务器 文章目录 利用树莓派制作无线打印服务器 一.树莓派是什么? 二.什么是CUPS 树莓派如何启用CUPS 三.电脑端如何连接树莓派打印服务器? 四.手机如何连接树莓派打印服 ...

  9. python程序语言和机器人控制-利用树莓派+Python语言制作一部机器人就是如此简单!...

    前段时间,接触了一款在开源硬件界被称为是"人气之王"的树莓派(Raspberry Pi)袖珍计算机,功能强大的她拥有一颗SOC,集CPU.GPU.DSP和SDRAM为一体,以SD卡 ...

最新文章

  1. python自定义包或模块在Linux服务器导入错误的解决办法
  2. 实施项目--为什么开发人员一直在抱怨需求变动
  3. spawn-fcgi启动的一些报错问题
  4. Nginx可以做什么?看完这篇你就懂了
  5. LTM设备上ping不通网关
  6. dojo中的AMD模式开发案例
  7. java communiframe_[Java教程]javascript iframe相关操作
  8. C++笔记:select多路复用机制
  9. Docker安装Zookeeper并进行操作
  10. VMware vSphere 文档--总目录vSphere 5.5 6.0 6.5 6.7 7.0
  11. 怎么制作html静态页面,如何做静态网页
  12. 基于导频的信道估计实现
  13. 免费WiFi上网软件是什么?怎么用?
  14. java jsp 跳转_JSP页面跳转的五种方法
  15. 30行代码用python实现软件翻译
  16. 微信朋友圈,模仿微信朋友圈,朋友圈点赞评论
  17. ScriptX.cab与Smsx.cab打印代码
  18. 纽约大学研究生 计算机科学 申请,纽约大学计算机科学硕士排名第35(2020年TFE Times排名)...
  19. 《社交网站界面设计(原书第2版)》——2.3 沿着脚印铺路
  20. Linux系统下Kafka的搭建与启动

热门文章

  1. 百度AI(一) | 人脸对比
  2. Python“飞机大战”上下左右移动空格发射子弹
  3. 重磅 | 由浅入深的 AI 学习路线,最详细的资源整理!
  4. PWM死区(Dead Zone)的作用和意义
  5. 单点登录之apacheds之安装使用
  6. Java 浮点数保留N有效数字
  7. 4 GROM 教程 (golang)
  8. 微信小程序调用拨打电话API,实现选择拨打固话或手机号。
  9. 仿微信多人音视频通话界面
  10. html ul css样式,html css ul 美化