如何通过.NET更改高级打印首选项?

时间:2011-04-19 19:55:20

标签: .net windows printing

我正在使用.NET Printing命名空间通过Postscript打印机将文档打印到文件中,如下所示:

  • 创建.NET System.Drawing.Printing.PrinterSettings
  • 的实例
  • 设置PrinterNamePrintFileNameDefaultPageSettingsPaperSizePrinterResolution等)。
  • 创建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 个答案:

答案 0 :(得分:0)

不幸的是,我不认为你能做到这一点。您看到的高级设置是Windows附带的Postscript打印机驱动程序的一部分。这些是由最终用户修改的,并且是驱动程序私有设置的一部分。 Postscript驱动程序提供了一个插件接口,您可以通过该接口访问API并对所有这些设置进行更改。请参阅以下链接 - http://msdn.microsoft.com/en-us/library/ff561832%28v=VS.85%29.aspxhttp://msdn.microsoft.com/en-us/library/ff563612%28v=VS.85%29.aspx

如果您可以告诉我您要修改哪种打印机设置,我可以提供额外的输入。例如:可以修改打印机驱动程序的公共devmode中的设置(如方向,纸张大小等)。