不确定这个问题对您是否仍然相关,但您可能希望考虑类似以下的解决方案:
使用WDK(Windows Driver Kit)创建Unidrv UI插件。这将允许您在打印期间指定UI(用于打印机对话框)。您希望在此处显示UI的原因是因为它是仅在用户会话中运行的打印机驱动程序组件之一(与打印应用程序相同的进程)。XPS管道和端口监视器都在会话0中。
如果您想坚持使用微软的约定,您可以在XPS过滤器管道的渲染过滤器中将溢出文件转换为PDF(如果您正在使用XPSDrv驱动程序)。过滤器管道是您有机会修改输入的XPS溢出数据并在最终过滤器中将其转换为输出文档类型(在您的情况下为PDF)的地方。在阅读了大量资料和研究之后,我想搭建类似redmon并使用打印机SDK,我使用了这个SDK完成了该项目:http://www.novapdf.com/pdf-sdk.html
然而,这个解决方案仅适用于Windows操作系统。
[我与novaPDF无关]
我已经调查了一个OSX版本,但它将是一个不同的构建,您可能可以使用这种方法设置:http://www.jms1.net/osx-pdf-services.shtml [我尚未尝试过此方法]