谁/什么删除了打印作业?

时间:2010-07-14 07:33:54

标签: delphi printing windows-xp delphi-2010 zebra-printers

偶尔没有打印的印刷品存在奇怪的问题

方案是我们使用条形码打印机(Zebra LP2844)打印条形码标签。 打印机插入TerminalPC然后共享。

打印机 - > TerminalPC - >终端服务器。 TerminalServer上的会话使用Printer作为\ TerminalPC \ Printer

记录打印事件时,我们会看到以下内容:

Print OK:
1) Print OK (Event 10, User myUser)
2) Print deleted (Event 13, User NT-AUTHORITY\SYSTEM)

Print not OK => only Event 2) appears in the event log

有人知道这里发生了什么吗?

更多信息: 这个问题大约发生在10次中的2次。唯一的区别是增加的ID作为条形码的一部分打印出来。 条形码是唯一被打印的对象。它每次都保存到文件(* .emf) - 并且文件看起来很好。 该应用程序是使用Delphi 2010开发的,并且在所有其他方面都可以正常工作。

1 个答案:

答案 0 :(得分:0)

端口监视器从打印假脱机程序中删除打印作业。端口监视器“EndDocPort”函数使用JOB_CONTROL_SENT_TO_PRINTER调用“SetJob”以指示作业已完成,并将其从假脱机程序中删除。

如果打印机使用自定义端口监视器,则问题可能出在打印机驱动程序或自定义端口监视器中。如果它使用标准端口(如LPT或USB),则应用程序不能始终如一地调用“EndDoc”,或者不检查EndDoc的返回代码,则更有可能出现问题。