Python - 使用python

时间:2016-05-11 20:57:54

标签: python python-2.7 printing

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

我正在使用python 2.7并且我有一个函数pI(x),它使用win32print将数据发送到打印机,其中x是使用“\ x ??”的字符串格式的数据对于格式化文本等十六进制数据它似乎运作良好。

我的打印机附带的程序员手册(用于下载位图,GS *)的语法为:

Hex   1D 2A x y d1...dk

d=1 for printing the corresponding dot and d=0 for not printing the corresponding dot.

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

这是否意味着所有x,y,d1 ...... dk都是十六进制(或“\ x ??”)?我想是的。

x和y代表什么?我刚才在一个网站上读过(可能是这个),x + y * 255 =图像宽度,我假设它正在使用操作顺序。这是对的吗?

我的通用打印机上的说明还指出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”?

我是否需要GS *每组8个点高或8个点的线,或者是否会覆盖以前编程的数据?

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

基本上,我应该向pI()发送一个字符串,以便下载一个8x8点黑色实心框的图像,并在打印机的中心下方放置2x宽的白线?

Here's an example of what I would like the printer to print so I can see a working code string

0 个答案:

没有答案