【问题标题】:POS Printer release methodPOS打印机发布方法
【发布时间】:2013-04-23 05:08:29
【问题描述】:

我正在开发一个通过 POS 打印机打印收据的应用程序。我的应用程序必须能够从我的应用程序的多个实例与 POS 打印机进行通信。我的 POS 打印机适合网络,我希望能够从我的应用程序的每个实例进行打印。 这工作正常,但在打印方法之前,我必须声明打印机,这需要 0.8 秒(太长),在打印方法之后,我需要释放打印机,这需要 3.1 (!!!!) 秒。

谁能帮助我更快地提出索赔和释放?

【问题讨论】:

  • 您有示例代码吗,您是否尝试过其他打印机,如果没有,您使用的是什么打印机?
  • 我使用的是 Metapace T-3 打印机。我还没有尝试过其他打印机。你不能对我认为的代码做太多,我使用.NET的标准POS命令... myPosPrinter.Claim(1000); myPosPrinter.DeviceEnabled = True; myPosPrinter.RecLetterQuality = True; myPosPrinter.PrintNormal(PrinterStation.Receipt, text + vbCrLf); myPosPrinter.Release();
  • 我没用过那台打印机,但这里有一些值得一试的东西,(1) 如果您还没有使用过最新的 OPOS CCO (1.13),请尝试一下 (2) 试试打印机直接连接到电脑,看看它仍然很慢(可能是网络开销)
  • 我尝试再次安装最新的 OPOS CCO,但我已经在使用 1.13。通过 USB 连接打印机是我将尝试的下一步。感谢您的回复。

标签: printing release opos


【解决方案1】:

询问您的打印机供应商(或为您的打印机提供服务对象的任何人。)

您的服务对象可能会在 ClaimDevice() 初始化期间执行额外的操作,例如将徽标位图上传到打印机以确保它从一致的状态开始。如果您为打印机的 SO 配置了徽标,请尝试删除它们以查看这是否会加速 ClaimDevice()。

它也可能会进行某种延迟,以确保在报告设备关闭之前打印缓冲区为空。在设备端口上调用 ReleaseDevice() 会告诉 SO 关闭设备。关闭端口可能会使其立即停止打印,这将使其跳过最后几个打印命令,例如“进纸和切纸”。我希望这不是你的情况,因为它可能需要更新设备固件来修复它。

【讨论】:

    猜你喜欢
    • 2014-12-14
    • 2014-11-16
    • 2012-10-11
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多