python调用打印机打印图片_Python使用Python将图像位数据打印到ESC/POS打印机

我一直在寻找一个如何格式化和打印bmp到我的收据打印机(这样我可以添加徽标)的例子很长一段时间,所以我怀疑这是一个重复的帖子考虑到其他人是为java或其他脚本语言。通常我很擅长理解指令,但我发现的只是那些我永远无法完全理解的旧指令。在

我使用Python2.7,有一个函数pI(x),它使用win32print将数据发送到打印机,其中x是字符串格式的数据,使用“\x??”对于十六进制数据,如格式化文本。看来效果不错。在

我的打印机附带的程序员手册上写着(用于下载bit image,GS*)的语法:Hex 1D 2A x y d1...dk

以及:

^{pr2}$

以下是关于这些说明的问题:

这是否意味着所有x,y,d1…dk都是十六进制(或“\x??)”?我认为是这样。在

x和y代表什么?我不久前在一个站点(可能是这个站点)上读到x+y*255=imagewidth,我假设这是使用操作顺序。这是对的吗?在

我的普通打印机上的说明也指出x和y都应该在1到48之间,总共不超过1500,不像有些手册说x应该在0和3之间,y在1到128之间(我想),它说x+y*255=宽度,总共大约2000。它还表示k=x*y*8,我想这个例子应该是8*8*8=512*“\x01”,那么第三个8是从哪里来的,我如何在字符串中编码呢???x=宽度y=高度?。。。那么,如何获得最大384点的图像宽度?在

这是否意味着我必须为每个点输入“\x00”或“\x01”,因此GS*的一个实例(8x8的小黑色块)将是64*“\x01”?在

我是不是必须每一组8点高或一行8点,或者这会覆盖先前编程的数据?在

我想稍后在我的程序中加入一种方法,使用tkinter canvas小部件轻松创建徽标,并将其保存到文本文件中,以备将来使用pI()进行打印,因此我真的需要知道如何直接将图像数据“下载”到打印机,并且使用第三方模块,因为我想继续使用pI()函数。是的,这是雄心勃勃的,我可能做得很艰难。但我担心如果我开始加入太多我不熟悉的新东西,我会变得太困惑。在

基本上,我应该发送什么字符串给pI()来下载一个8x8点实心黑盒子的图像,在打印机的中心有一条2x宽的白线?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值