为了账号安全,请及时绑定邮箱和手机立即绑定

EPSON打印收据对齐问题

EPSON打印收据对齐问题

白衣染霜花 2023-10-24 15:11:16
我想为我的收据实现正确的对齐,目前我可以像当前获取收据的图片中那样进行对齐为了实现正确的对齐,我尝试了两种方法,在单行中,我尝试同时提到左对齐和右对齐,但这不起作用,因为爱普生不允许在同一行上同时对齐然后我尝试在现金和金额之间添加空格,但有时由于描述较长,数量可能会进一步向右移动,因此它不稳定,所以有人可以告诉我实现正确对齐的正确方法self.receiptText += alignLeft + tndrDesc + "\n"; self.receiptText += alignRight + formatTdrAmt + "\n";但上面的代码在金额上方的一行中给出了描述,但如果我不使用 \n 它将出现在同一行中而不会右对齐
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

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

例如,假设您要打印 32 列。

  • 将padEnd(32, ' ')应用到项目名称字符串。

  • 获取价格字符串的 长度。

  • 使用substring (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;

根据需要调整数字位置。


查看完整回答
反对 回复 2023-10-24
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信