EPSON打印收据对齐问题



我想为我的收据实现正确的对齐,目前我可以获得图片中的对齐,当前获得的收据像这个

为了实现正确的对齐,我尝试了两种方法,在单行中,我试图提到左对齐和右对齐,但都不起作用,因为epson不允许两种对齐都在同一行上然后我尝试在现金和金额之间添加空白,但有时由于描述较长,金额可能会进一步向右移动,因此不稳定,所以有人能告诉我实现正确对齐的正确方法吗

self.receiptText += alignLeft + tndrDesc + "n";
self.receiptText += alignRight + formatTdrAmt + "n";

但上面的代码在金额上方的一行中给出了描述,但如果我不使用,它将在同一行中出现,而不会与右侧对齐

最好由应用程序本身编辑打印请求的字符串,而不是由打印机的功能编辑。

例如,假设要打印32列。

  • 将padEnd(32,''(应用于项名称字符串
  • 获取价格字符串的长度
  • 从带有子字符串(0,(32-价格字符串长度((的商品名称字符串中提取一个字符串
  • 使用concat((或+组合提取的字符串和价格字符串,然后组合新行代码为一行创建字符串

如果每个字符都在SBCS(单字节字符集(范围内,则可以通过请求打印该字符串来获得具有相同位数的打印结果。


考虑添加的源。

在这种情况下,不需要alignLeftalignRight

使用工作变量,而不是突然添加到self.receiptText中。

过程如下。

printlineWork = tndrDesc + '                                  '; // 34 columns space character
printlineWork = printlineWork.substring(0, 34);
printlineWork += ('        ' + formatTdrAmt).slice(-8) + 'n'; // 8 columns space character
self.receiptText += printlineWork;

根据需要调整数字位置。

相关内容

  • 没有找到相关文章

最新更新