我正在编写一个C#程序,该程序应在打印文档时用作PDFCreator工作流的中间步骤。
这是一个常规的控制台程序,在其他一切正常的情况下也可以正常工作。我发现的根本问题是,如果有需要,当前(即在PDFCreator v4.1.3中)无法从程序内部取消打印作业。无论我的程序发生了什么,PDFCreator都不会检查退出代码,而是继续执行下一步。
已经用尽了显而易见的选择,我自然想到了我能想到的唯一方法:从我的应用程序内部杀死父进程。这行得通。取消立即打印过程。
但是当我尝试打印另一个文档时,问题再次开始。事实证明,工作流启动后,PDFCreator会记住待处理的打印任务。如果在完成之前被杀死,它将保留在队列中,并在下次重试。这意味着当我杀死它们时任务会堆积起来!
我无法成功确定PDFCreator将这些待处理任务确切存储在何处,因此无法删除它们。所以我被卡住了。
我已经在PDFCreator forum上提出了这个问题,但是那里的社区似乎反应迟钝。