У меня есть файл .xps, созданный на встроенном принтере Microsoft xps Writer, я хочу напечатать его на реальном принтере, но с измененными атрибутами, такими как: дуплекс, оттенки серого, n-up и т. Д.
Я следовал примерам из MSDN и могу нормально распечатать .xps, но проблема в том, что я могу установить только несколько атрибутов задания. Установив PrintTicket с PrintQueue, задание печатается правильно с измененными настройками копирования и дуплекса, но не преобразуется в оттенки серого и не учитывает никакие настройки n-up.
Кажется, я не одинок, из этой формы , с помощью обработчика событий WritingPrintTicketRequired, XPS-файлов PrintTicket был успешно изменен с настройками оттенков серого, n-up, но с помощью PrintQueue.AddJob () call не будет печатать их в оттенках серого или n-up.
Однако, если я использую PrintDialog и вручную выберу атрибуты, он будет печататься как положено. Если я попытаюсь установить свойства PrintQueue и PrintTicket в PrintDialog, он не будет учитывать некоторые атрибуты.
Моя цель - программно распечатать файл xps с атрибутами. Вопрос в том, как заставить PrintQueue полностью соблюдать PrintTicket?
К вашему сведению: файл xps был создан как цветной, и я могу видеть цветные изображения в пакете .xps.
РЕДАКТИРОВАТЬ: оказывается, драйвер принтера почему-то не учитывает настройки печати, даже возможности принтера показывают, что он поддерживает монохромный режим, что очень заметно при переходе на другой драйвер. Однако задание серой шкалы в билете печати отличается от выбора серой шкалы в пользовательском интерфейсе диалога печати: в градациях серого в билете печати будет выводиться монохромное изображение, а в файле спула оно будет отображаться как цветное, но само изображение преобразуется. В то время как последний будет генерировать более реалистичное изображение в градациях серого.