我使用通用文本驱动程序将文本打印到点矩阵打印机中,并设法使用一个空格字符对齐纸张列上的数据,在135个字符宽的纸张上使用每个空打印字符。这在10 for上有效,因为数据位于它们应该位于的列上,但如果用户选择其他字符大小(例如,17 for),则不会。在后一种情况下,保持对齐,但数据不位于预期的位置。例如,假定行上有120个字符(第120个字符),而在10 end上,它确实在行的末尾打印,在17 end上,它打印在纸的中间。
我理解这是因为我在列之间使用的实际空格字符在17 use上较小。
所以,我的问题是:
1)当音高大于10 the时,我是否应该使用一个以上的空格字符?我可以试一试,但这似乎不是一个好的练习。或者我应该尝试使用绝对水平位置与适当的esc命令?然而,根据escp2手册,这是不推荐的。
2)应该在发送给打印机的每一行数据的字符串中发送\r\n,还是只发送数据行,并在其末尾发送escp2命令CR?
提前谢谢。
发布于 2014-05-23 19:08:02
1)好吧,我的结论是,无论最终用户选择的字符间距(CPI),实际上都不能构建适合页面的数组。这是指预印的折页纸.一旦用户决定更改CPI,那么他们应该重新配置每一行中文本的位置,这意味着他们需要重新配置列的距离。我为用户提供了这样的能力,为我将要打印的每一个文本在设置部分中提供行号和位置。
2)最后我做了第二次。我创建一个二维数组并发送每一行,后面跟着一个CR和一个LF escp命令。
https://stackoverflow.com/questions/23376462
复制相似问题