ESC/POS 打印条形码在中间垂直和水平对齐?

ESC/POS printing barcode aligned vertically and horizontally in the middle?

我的代码目前可以轻松打印条形码和 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 a命令说明中,有如下注释
这些通知是否在您打印机的 ESC a 命令中?

  • When Standard mode is selected, this command is enabled only when processed at the beginning of the line in Standard mode.
  • The justification has no effect in Page mode.
  • This command executes justification in the print area set by GS L and GS W.
  • This command justifies printing data (such as characters, all graphics, barcodes, and two-dimensional code) and space area set by HT, ESC $, and ESC \.
  • Settings of this command are effective until ESC @ is executed, the printer is reset, or the power is turned off.

通常,ESC a 命令不是在行首之后指定的,而是在打印几个字符或空格之后指定的。

例如,如果您使用纯文本而不是条形码打印并且它没有居中,则行首未指定 ESC a
更改 ESC a 命令,使其在行的开头指定。

但是,如果纯文本居中打印,该功能可能不适用于条形码。
在这种情况下,请联系打印机供应商以确定条形码对齐是否可用以及如何对齐。
或者没有自动功能,可能是用ESC \等调整打印位置的方法


水平方向的打印位置可由ESC $ESC \指定。
只是计算的起点不同。 ESC $是纸张的左边缘,ESC \是当时的打印位置。
您不需要使用 GS P