我使用delphi开发了一个销售点应用程序,但我留下了最后一块软件,即现金收据的打印。我在模具应用程序中使用了Rave Reports来处理我的大多数报告,并尝试使用狂热的报告来收据。我使用Rave Reports的唯一问题是我不知道如何控制页面提要,我想强制狂欢给出一个继续页面提要,否则它打印一个部分然后停止打印一些页面然后继续打印在收据上留下一大块空白。无论如何,用rave或delphi来强制或管理纸张进给。
然后是另一个问题,对于问题的替代解决方案:
有没有办法可以用来打印TMemo的内容?然后我可以将所有在TMemo中购买的物品放入并发送给它?这是个好主意吗?
我正在使用Delphi XE2
答案 0 :(得分:1)
如果您正在寻找快速报告的替代方案,您应该查看OPOS或ESC / POS(Epson标准)
OPOS更像是一个完整的打印解决方案,并接管连接到打印机并发送打印作业(在大多数情况下通过Windows购买)。其中,ESC / POS是一组格式化命令,附加到原始文本,然后发送给打印机。
它们是控制POS打印机的行业标准,因此市场上的大多数收据打印机支持其中一种(在某种程度上支持最多),它们具有控制/送纸的标准方法,切纸和打开现金抽奖(如果附在打印机上)。
我在Delphi应用程序中都使用了这两种方法,您可以轻松地在TMeno中进行迭代,将数据发送到打印机。如果您使用的是ESC / POS,则可以使用Delphi的AssignFile
或AssignPrn
命令连接到打印机。
缺点是它们起初可能有点棘手并且在格式化方面有点受限,但是如果你有一个合适的收据打印机,它们的打印速度必须比使用原生Windows打印方法更快。
答案 1 :(得分:0)
嗯,你有一些选择......
继续使用您所在的路径(报告编写器等),该路径将输出到收据打印机打印驱动程序,然后再打印到Windows打印系统
使用Zebra或其他打印机,并向其发送打印机本机命令(Zebra具有ZPL语言)。这为您提供%100控制,它绕过了Windows打印。但是,您只能支持某些打印机型号。
HTH!
答案 2 :(得分:0)
我知道这并没有真正帮助你,但我使用FastReport作为收据,它就像一个魅力。页面配置中有一个特殊的“无限长度”页面,所以也许在狂欢报告中有类似的东西。
考虑切换到FR(这是值得的)。