Как настроить PrintTicket для включения дуплекса? - PullRequest
0 голосов
/ 29 августа 2018

Я поддерживаю приложение 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. Кто-нибудь может подсказать, что мне делать?

1 Ответ

0 голосов
/ 29 августа 2018

C # Дуплекс

Вам необходимо установить свойство Duplex объекта PrinterSettings.

Примечание: Вы можете использовать свойство CanDuplex, чтобы проверить, поддерживает ли принтер двустороннюю печать.

Источники


XPS дуплекс

В XPS это должно быть возможно путем установки свойства Duplexing для PrintTicket.

Документация и Обзор печати содержит пример кода для двусторонней печати. (Просто найдите duplex на странице)

Источники

...