2015-04-20 39 views
0

我已經成功地用office interop打印MS office文檔,但是pdf,或者hwp等文檔讓我感到困擾。C#有沒有更改打印機設置的方法?

只是打印這些文件並不困難。 這段代碼是我需要打印的。

   Process process = new Process(); 
       process.StartInfo.FileName = fileInfo.FullName; 
       process.StartInfo.Verb = "Print"; 
       process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
       process.Start(); 

但是,我的本意是,我要打印PDF或HWP的多個頁面中的一個頁面。(例如:在一個頁面上四頁)

正如我搜索,這兩種格式不支持任何免費的無限特權圖書館。所以,我的下一個方法是更改​​默認打印機設置。在Windows上,我發現在控制面板上,我可以手動更改打印機設置以進行雙面打印或多頁打印。我怎樣才能以編程方式改變它?

回答

2

那裏有免費的PDF庫。 (例如,iTextSharp是精細iText的C#端口,可輕鬆進行二合一和四合一頁面轉換。)但是,這些更側重於操縱PDF和類似文檔以生成更多文檔,並且不會公開詳細的打印控制。

如果這些不是爲你做的,你可以使用.NET或ActiveX interop來自動化IE或Adobe Reader,或者類似的應用程序,它可以讀取PDF並具有打印機支持嗎?他們隨時可用,並且他們暴露的ActiveX控件可能具有與這些打印機設置相對應的內容。

在用戶級別撥打默認打印機設置可能會產生不良副作用。

+0

謝謝!我會試一試! – March3April4

+0

非常感謝!使用iTextSharp來操作頁面,然後用我的源打印可能會很好。如果我成功了,我會發布我的代碼。再次,謝謝! – March3April4

相關問題