2011-04-19 58 views
1

我使用的.NET命名打印打印文檔通過PostScript打印機到文件如下:如何通過.NET更改高級打印首選項?

  • 創建.NET System.Drawing.Printing.PrinterSettings
  • 設置PrinterNamePrintFileNameDefaultPageSettings的實例(PaperSizePrinterResolution等)。
  • 創建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這些自定義屬性?如果沒有,是否有另一種方式(例如,通過註冊表......儘管我沒有在那裏找到這些選項)?

謝謝

回答

0

不幸的是,我不認爲你可以做到這一點。您看到的高級設置是隨Windows一起提供的Postscript打印機驅動程序的一部分。這些是由最終用戶修改的,並且是驅動程序私有設置的一部分。 Postscript驅動程序提供了一個插件界面,通過它您可以訪問API並對所有這些設置進行更改。請參閱這些鏈接 - http://msdn.microsoft.com/en-us/library/ff561832%28v=VS.85%29.aspx,http://msdn.microsoft.com/en-us/library/ff563612%28v=VS.85%29.aspx

如果您可以告訴我要修改哪種打印機設置,我可以提供額外的輸入。例如:在打印機驅動程序的公共devmode中的設置(如方向,紙張尺寸等)可以修改。

+0

事實證明,驅動程序的特定設置存儲在註冊表(HKCU)中。我剛剛捕獲了二進制密鑰並以編程方式進行設置。 – Bama91 2011-05-21 15:11:31

+1

你能分享位置嗎?你怎麼知道要更新什麼? – 2011-06-09 21:53:46