我支持使用C#应用程序打印XPS并使用PrintTickets修改打印机设置。这是一个 WPF 应用程序,而不是Windows Forms应用程序,因此任何涉及PrintDocument或PrintSettings的答案都不相关。
我见过的大多数打印机驱动程序都会生成一个form_admin.DataGridView1.Datasouce = Nothing
form_admin.DataGridView1.DataSource = dtTemp
的XML文档,其中包含PrintCapabilities
。相关的psk:JobDuplexAllDocumentsContiguously
对象包含多个零项目,并且PrintCapabilities.DuplexingCapability
成员为非null。
我刚遇到一个打印机驱动程序,它报告PrintTicket.Duplexing
而不是psk:DocumentDuplex
。问题是,psk:JobDuplexAllDocumentsContiguously
对象包含零个项目,而PrintCapabilites.DuplexingCapability
成员为空。打印机绝对可以进行双面打印-只是它没有报告我所期望的功能。
如果我为PrintTicket.Duplexing
分配了一个值,则PrintTicket的xml将包含驱动程序忽略的PrintTicket.Duplexing
。
我看不到如何修改psk:JobDuplexAllDocumentsContiguously
对象,以便相关的XML提到PrintTicket
。谁能建议我该怎么做?
答案 0 :(得分:0)
您需要设置Duplex
对象的PrinterSettings
属性。
注意:您可以使用
CanDuplex
属性来检查打印机是否支持双面打印。
来源
在XPS
中,可以设置Duplexing
的{{1}}属性。
文档和Printing Overview包含用于双面打印的示例代码。 (只需在页面上搜索PrintTicket
)
来源