2009-07-17 85 views
3

這裏,打印機的默認設置就是我的情況:修改從C#

  • 我正在開發一個C#附加在第三方程序
  • 這個程序(Revit中)使用它自己的印刷方法,並公開他們通過它的API
  • 我正在寫一個打印實用程序,使用這些方法打印到不同的位置,包括一個PDF打印機
  • 我使用PDF995作爲打印機並修改其.ini文件以使其自動化。
  • 基本上我打電話給打印方法在API中打印活動繪圖到指定的打印機。

我的問題是,在PDF995中,如果您在Windows中打印首選項,則方向默認設置爲「縱向」。我需要風景。這些設置似乎覆蓋了我在Revit API中設置的任何內容,所以我需要一種更改Windows設置的方法。

我試過這段代碼:

PrintDocument printDocument = new PrintDocument(); 
printDocument.PrinterSettings.PrinterName = "PDF995"; 
printDocument.DefaultPageSettings.Landscape = true; 

調用API中的打印功能之前,但它並沒有區別。我看不到一種方法來編輯pdf995 ini來設置這些設置。這是一個我需要重寫的窗口設置。

我在網上看到過一些C++代碼,我可以調用它來打印打印機,但是找不到更改默認設置的示例。

任何人都可以指向正確的方向嗎?

回答

0

我認爲使用Autodesk.Revit.DB.PrintManager的許多設置都是「佔位符」,但如果打印機正在控制這些設置,那麼Revit移植到的值將被忽略。我已經嘗試使用完整路徑設置.PrintToFileName,但是在BlueBeam中製作PDF仍然會將文件發送到MyDocuments,我必須將其複製。您是否嘗試將PDF995複製到PDF995X(例如)並將其修改爲默認爲橫向(而PDF995保留了縱向的默認值)?過去,當打印機堅持使用存儲的默認值而不是所請求的值時,我曾經使用過這種方法。