#.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). Я просто захватил двоичный ключ и установил его программно.