python-3.x - ESC/POS打印条码在中间纵横对齐?
问题描述
我的代码目前正在轻松打印条形码和 hri 文本,但我希望所有内容都打印在标签的中心位置。有人可以告诉我什么时候应该声明对齐命令吗?
我尝试在开始时和条形码打印命令之前声明它,但条形码仍在左上角打印。
这是我的对齐命令:
def align_esc(self,esc,n):
'''
ESC|a|n
0<=n<=2,48<=n<=50
0,48 = Left; 1,49 = Mid; 2,50 = Right
'''
align = [esc,n]
align_prnt = bytearray(align)
return align
我不使用 escpos python 库的原因是因为我正在从 Android 设备打印。
编辑:
上述函数在第 7 行缺少以下字符:
align = [esc,97,n]
解决方案
在 EPSON 的ESC 一条命令说明中,有如下注释。
这些通知是否在ESC a
您的打印机命令中?
- 选择标准模式时,仅在标准模式下在行首处理时才启用此命令。
- 对齐在页面模式下无效。
GS L
此命令在和设置的打印区域中执行对齐GS W
。- 该命令对打印数据(如字符、所有图形、条码、二维码)和 HT 设置的空间区域进行对齐
ESC $
, 和ESC \
。- 该命令的设置在
ESC @
执行、打印机复位或电源关闭之前有效。
通常,ESC a
命令不是在行首之后指定,而是在打印几个字符或空格之后指定。
例如,如果您使用纯文本而不是条形码打印并且它没有居中,ESC a
则不在行首指定。
更改ESC a
命令,使其在行首指定。
但是,如果纯文本居中打印,则该功能可能不适用于条形码。
在这种情况下,请联系打印机供应商以确定条形码对齐是否可用以及如何进行。
或者没有自动功能,可能是用ESC \
等调整打印位置的方法。
水平方向的打印位置可以通过ESC $
或指定ESC \
。
只是计算的起点不同。ESC $
是纸张的左边缘,ESC \
是当时的打印位置。
您将不需要使用GS P
.
推荐阅读
- meteor - Meteor 中服务器端代码的最佳实践是什么?
- android - 使用后台服务 Android 获取当前位置
- python-3.x - 使用 tkinter 时在 Google Colab 中设置 $DISPLAY 环境变量
- vim - vimscript: map x "xx if register not specified
- asp.net-core - Blazor wasm 新项目无法识别 Radzen Nuget Pkg
- excel - 比较 Excel 单列中价格列表中的数字 - 并发现数字何时较低而不是较高
- c - 动态数组中的realloc vs memcpy,如C中的向量
- c# - 如何允许用户清除可编辑 ComboBox 的值?
- ggplot2 - Rstudio 和 ggplot,堆积条形图:两个几乎相同的代码位,fct_reorder 与一个一起工作,而不是另一个?
- typescript - 如何从 Typescript 接口获取值类型