我的任务是自动从我们的远程位置收集一些报告。有时,该机器在当地工作人员本地使用,其使用是随机的。生成报告的软件在某种程度上受到限制,仅允许我们使用默认打印机进行打印。接收这些报告的部门不希望任何更改,他们乐于获取PDF。

我可以以编程方式将默认打印机更改为使用PDFCreator打印机(然后将其切换回以使该位置的工作人员不会注意到),并且可以以编程方式生成报告并将其发送给打印机。

我的问题是,这样做会从PDFCreator弹出一个窗口,并需要PDF的文件名和一些元数据。

我想最大程度地减少弹出的窗口,并希望使我收集的报告对本地用户尽可能不造成干扰。

有没有简单的方法可以自动执行PDFCreator交互,或者我还剩下使用SendMessage(或类似方法)并模拟用户交互了吗?

不需要PDFCreator,对于其他可以解决此问题的PDF打印类型的软件,我也会提出建议。

最佳答案

PDFCreator是一个VB包装的圆形Ghostscript,因此您应该能够修改PDFCreator,使其不弹出对话框并以其他方式为其提供文件名。

或者,您可以使用带输出到FILE:的Postscript打印机驱动程序,然后可以以编程方式调用ghostscript自己将PS转换为PDF。当端口设置为FILE时,我找不到阻止Windows内置Postscript驱动程序创建对话框的方法:当端口设置为PSFile时,我无法确定文件的位置。但是GSPSprinter.html包含有关如何将Ghostscript附言打印机设置到固定文件位置的说明,因此您不会出现任何对话框。

10-04 15:38