Printing POS打印机释放方法

Printing POS打印机释放方法,printing,release,opos,Printing,Release,Opos,我正在开发一个通过POS打印机打印收据的应用程序。我的应用程序必须能够从我的应用程序的多个实例与POS打印机通信。我的POS打印机适合网络,我希望能够从应用程序的每个实例进行打印。 这很好,但在使用打印方法之前,我必须认领打印机,这需要0.8秒(太长),在使用打印方法之后,我需要释放打印机,这需要3.1(!!!!)秒 有人能帮我提出索赔并更快地发布吗 询问您的打印机供应商(或为您的打印机提供服务对象的人。) 在ClaimDevice()初始化期间,您的服务对象可能正在执行额外的操作,例如将徽标位

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

有人能帮我提出索赔并更快地发布吗

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

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


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

您是否有任何示例代码,是否尝试过其他打印机,如果没有,您使用的是哪种打印机?我使用的是Metapace T-3打印机。我还没有试过其他打印机。我想,你不能对代码做太多的修改,我使用.NET的标准POS命令。。。myPosPrinter.索赔(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连接打印机。谢谢你的回复。