Я поддерживаю приложение C #, которое печатает XPS и изменяет настройки принтера с помощью PrintTickets. Это WPF приложение, а не приложение Windows Forms, поэтому любой ответ, связанный с PrintDocument или PrintSettings, не имеет значения.
Большинство драйверов принтеров, которые я видел, создают документ PrintCapabilities
xml, содержащий psk:JobDuplexAllDocumentsContiguously
. Связанный объект PrintCapabilities.DuplexingCapability
содержит больше нуля элементов, а элемент PrintTicket.Duplexing
не равен нулю.
Я только что наткнулся на драйвер принтера, который сообщает psk:DocumentDuplex
вместо psk:JobDuplexAllDocumentsContiguously
. Проблема в том, что объект PrintCapabilites.DuplexingCapability
содержит ноль элементов, а элемент PrintTicket.Duplexing
имеет значение null. Принтер определенно может выполнять двустороннюю печать - просто он не сообщает о своих возможностях, как я ожидал.
Если я назначу значение для PrintTicket.Duplexing
, тогда xml для PrintTicket будет содержать psk:JobDuplexAllDocumentsContiguously
, который драйвер игнорирует.
Я не вижу, как я могу изменить объект PrintTicket
, чтобы в соответствующем XML упоминалось psk:DocumentDuplex
. Кто-нибудь может подсказать, что мне делать?