Как изменить расширенные настройки печати через .NET?

#.net #windows #printing

#.net #Windows #печать

Вопрос:

Я использую .Пространство имен NET Printing для печати документа в файл на принтере Postscript следующим образом:

  • создайте экземпляр .Класс NET System.Drawing.Printing.PrinterSettings
  • установите PrinterName , PrintFileName и DefaultPageSettings ( PaperSize , PrinterResolution и т.д.).
  • создайте экземпляр PrintDocument класса и назначьте PrinterSettings экземпляр
  • Вызовите Print метод, который вызывает мой пользовательский обработчик для выполнения печати

Если возможно, мне также необходимо программно изменить настройки конкретного принтера. Если я щелкну правой кнопкой мыши на принтере (в Windows 7) и выберу «Настройки печати«, затем «Дополнительно …» У меня есть следующие параметры:

 Document Options
--PostScript Options
----PostScript Output Option
----TrueType Font Download Option
----PostScript Language Level
----etc.
--Printer Features
----PDF Settings
----PDF Compatibility
----EmbedAllFonts
----etc.
  

Есть ли способ установить (или, по крайней мере, подтвердить) эти пользовательские свойства через .Net? Если нет, есть ли другой способ (например, через реестр… хотя я не нашел там этих опций)?

Спасибо

Ответ №1:

К сожалению, я не думаю, что вы можете это сделать. Расширенные настройки, которые вы видите, являются частью драйвера принтера Postscript, который поставляется вместе с Windows. Они предназначены для изменения конечным пользователем и являются частью личных настроек драйвера. Драйвер Postscript предоставляет подключаемый интерфейс, через который вы можете получить доступ к API и внести изменения во все эти настройки. Обратитесь к этим ссылкам — http://msdn.microsoft.com/en-us/library/ff561832(v=VS.85).aspx, http://msdn.microsoft.com/en-us/library/ff563612(v=VS.85).aspx.

Если вы можете сказать мне, какие настройки принтера вы хотите изменить, я мог бы предоставить дополнительные данные. Например: настройки, которые находятся в общедоступном режиме разработки драйвера принтера (например, ориентация, формат бумаги и т.д.), Можно изменить.

Комментарии:

1. Оказывается, что настройки, относящиеся к конкретному драйверу, хранятся в реестре (HKCU). Я просто захватил двоичный ключ и установил его программно.