如何为POS打印机格式化python文本

如何为POS打印机格式化python文本,python,Python,我已经能够编写python代码,使用收据样式打印一组文本 在常规的全尺寸打印机上,我得到了预期的打印结果,格式正确,看起来是这样的 但是,在POS打印机(型号为POS-8330的热敏收据打印机)上,文本的格式并不完全符合我的预期,下面是一个输出示例 代码完全相同。如何使用python格式化POS打印机文本 代码 似乎打印机只支持有限的行长度,并且自动包装长行 如果是有问题的打印机,它的打印宽度为72毫米,有三种字体(我假设是等距字体),字母宽度为3毫米、1.5毫米或1.1毫米。 这意味着您每

我已经能够编写python代码,使用收据样式打印一组文本

在常规的全尺寸打印机上,我得到了预期的打印结果,格式正确,看起来是这样的

但是,在POS打印机(型号为POS-8330的热敏收据打印机)上,文本的格式并不完全符合我的预期,下面是一个输出示例

代码完全相同。如何使用python格式化POS打印机文本

代码


似乎打印机只支持有限的行长度,并且自动包装长行

如果是有问题的打印机,它的打印宽度为72毫米,有三种字体(我假设是等距字体),字母宽度为3毫米、1.5毫米或1.1毫米。
这意味着您每行最多可以有24、48或65个字符,这取决于您选择的字体(并假设没有边距)。链接站点提供了一本编程手册。

您的回答为我指明了正确的方向,但我仍然坚持执行,因为编程手册对我应用其内容来说非常先进,您是否能够提供帮助?我问了一个新问题就是为了这个。消除巨大的边距和减少字体是最大的难题
companyName = "Hilton Steel and Cement"
paytype = self.payment_Mode
companyName = companyName + "\n\nSale Receipt\n\nOpp Golden Line Mall\nP.O BOX 3404-20100\n TEL: 0727441192\nEMAIL: Hiltonltd@yandex.com"
receiptNo = randint(1, 100000)
finalString = companyName + "\n\nReceipt No:" + str(receiptNo) + "\n\n" + self.getproductList()\
                              + "\n______________________________________\n" + "Total Due:        " + str(self.totaltoBePaid)  + "\n______________________________________\n\n" + "Paid In:     " + paytype + "\n\n"+ "Served By:     " + str(self.user) +"\n" + "Payment:           " + str(self.finalvariables[1])+ "\nBalance:            " + str(self.finalvariables[0])  + "\n\n\nWelcome Back"


open(self.filename, "w").write(finalString)
os.startfile(self.filename, "print")