爱普生打印收据对齐问题
EPSON print receipt alignment issue
我想对我的收据进行适当的对齐,目前我可以像图片中那样对齐currently getting the receipt like this
为了实现正确对齐,我尝试了两种方法,在单行中我试图同时提及左对齐和右对齐,但这没有用,因为 epson 不允许在同一行上同时对齐
然后我尝试在现金和金额之间添加空白space,但有时由于描述较长,金额可能会进一步向右移动,因此它不稳定,所以有人可以告诉我正确对齐的正确方法
self.receiptText += alignLeft + tndrDesc + "\n";
self.receiptText += alignRight + formatTdrAmt + "\n";
但是上面的代码在金额上面的一行中给出了描述,但是如果我不使用\n它会出现在同一行而不是右对齐
打印请求的字符串最好由应用程序自己编辑,而不是打印机的功能。
例如,假设您要打印 32 列。
- 对项目名称字符串应用padEnd(32, ' ')。
- 获取价格字符串的length。
- 使用substring (0, (32 - price string length))从项目名称字符串中提取一个字符串。
- 将提取的字符串和价格字符串与concat() or +合并,再合并新的行代码,生成一行字符串。
如果每个字符都在SBCS(Single Byte Character Set)范围内,则请求打印该字符串可以得到相同位数的打印结果。
考虑添加来源。
在这种情况下,不需要 alignLeft
和 alignRight
。
而不是突然添加到 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;
根据需要调整数字位置。
我想对我的收据进行适当的对齐,目前我可以像图片中那样对齐currently getting the receipt like this
为了实现正确对齐,我尝试了两种方法,在单行中我试图同时提及左对齐和右对齐,但这没有用,因为 epson 不允许在同一行上同时对齐 然后我尝试在现金和金额之间添加空白space,但有时由于描述较长,金额可能会进一步向右移动,因此它不稳定,所以有人可以告诉我正确对齐的正确方法
self.receiptText += alignLeft + tndrDesc + "\n";
self.receiptText += alignRight + formatTdrAmt + "\n";
但是上面的代码在金额上面的一行中给出了描述,但是如果我不使用\n它会出现在同一行而不是右对齐
打印请求的字符串最好由应用程序自己编辑,而不是打印机的功能。
例如,假设您要打印 32 列。
- 对项目名称字符串应用padEnd(32, ' ')。
- 获取价格字符串的length。
- 使用substring (0, (32 - price string length))从项目名称字符串中提取一个字符串。
- 将提取的字符串和价格字符串与concat() or +合并,再合并新的行代码,生成一行字符串。
如果每个字符都在SBCS(Single Byte Character Set)范围内,则请求打印该字符串可以得到相同位数的打印结果。
考虑添加来源。
在这种情况下,不需要 alignLeft
和 alignRight
。
而不是突然添加到 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;
根据需要调整数字位置。