我正在实现一个与谷歌云打印机相同的程序。它是使用 postscript 类驱动程序的虚拟打印机。如图(我加了64后缀)。中文翻译成英文是Helpfile,ConfigurationFile DataFile DriverFile Dependency。
我使用 redmon 捕获标准输入并使用 ghostscript 将其转换为 pdf。同时我从打印机队列中获取作业信息。有了 pdf 和工作信息,我可以将它们发送到我的服务器。然后我的服务器可以打印文档。如图所示,我调用了 ghostscript。
当我使用 WPS(与 Microsoft Word 相同的中文应用程序)打印 docx 文档时,作业队列中的作业信息是正确的。例如,当我打印 test.docx 并选择三份副本、分页、彩色时,我从作业队列中得到了正确的结果。当涉及到 Microsoft Word 时,事情变得很奇怪。当我使用 Microsoft Word 打印 docx 时,我从队列中获取作业信息。无论用户指定多少副本,副本始终是一份。同时,转换后的 pdf 也包含一份副本。这意味着我无法实现我的目标(获取 pdf 和工作信息之类的副本。然后将它们发送到我的服务器)。有谁知道我如何获得正确数量的副本,或者至少它应该表现为 Microsoft Print to Pdf 打印机(如 ps 所示)。我的书面英语不好。谢谢!
ps:我也测试过Microsoft Print to PDF。如果我在 Word 中选择三份,作业队列中的作业信息始终为一份。但是,目标 pdf 文件包含三个副本(如果 docx 为一页,则目标 pdf 为三页)。