使用PrintTicket打印XPS,OutputColor PagesPerSheet不起作用

|| 我有一个从内置Microsoft xps writer打印机生成的.xps文件,我想将此文件打印到真实打印机上,但具有修改后的属性,例如:双面打印,灰度,n-up等。 我遵循了MSDN的示例,可以很好地打印.xps,但是问题是我只能设置工作的几个属性。通过将PrintTicket设置为PrintQueue,可以使用修改后的副本和双面设置正确打印作业,但不会转换为灰度或接受任何n-up设置。 从这种形式来看,我似乎并不孤单,通过使用WritingPrintTicketRequired的事件处理程序,已成功使用灰度级,n-up设置成功更改了XPS文件PrintTicket,但是使用PrintQueue.AddJob()调用将不会以灰度级或n打印它们。设置。 但是,如果我使用PrintDialog并手动选择属性,则它将按预期打印。如果我尝试在PrintDialog中设置PrintQueue和PrintTicket属性,则它将无法使用某些属性。 我的目标是以编程方式打印具有属性的xps文件。问题是如何使PrintQueue完全兑现PrintTicket? 仅供参考:xps文件是作为颜色生成的,我可以在.xps包中看到彩色图像。 编辑:原来是打印机驱动程序某种程度上不支持打印设置,甚至打印机功能也显示它支持单色,这是通过更改为另一个驱动程序来实现的。但是,在打印票证中指定灰度不同于在打印对话框UI中选择灰度:在打印票证中的灰度将输出单色图像,在假脱机文件中,将其指定为彩色渲染,但其自身的图像将被转换。而后者会生成更逼真的灰度图像。
已邀请:

要回复问题请先登录注册