我有一個奇怪的問題。我有一個程序(做許多事情,但也)通過axAcroPDF控制顯示PDF。在控件中,我隱藏了工具欄,因爲我不希望用戶訪問它們,所以我創建了一個打印按鈕(我希望它們可以訪問的唯一功能)。C#AcroPDF總是在第一臺打印機上打印
現在,我走過地獄找出如何更改默認打印機,因爲Adobe認爲它不允許在printAll()函數中傳遞打印機路徑是明智的,請參閱圖。
有兩種紙,一種價格便宜,一種非常昂貴,所以根據什麼類型的文件,它將在一臺打印機上打印,另一臺打印機(並且不得擰緊,否則將會很昂貴)。
因此,PrintA是一切的默認打印機,PrintB是昂貴的紙質打印機。
如果我使用PrintB打印,我的程序會在內存中保留當前的默認打印機,將默認打印機切換到PrintB,打印文檔,然後切換回PrintA。 問題是,之後如果我嘗試打印普通文檔,它將使用PrintB進行打印(即使PrintA是默認打印機)。
反過來也是如此。如果我先用PrintA打印一個普通文檔,那麼之後它仍然會使用PrintA打印特殊文檔。
這將做到它,直到我關閉程序。所以我一開始認爲這是我的程序,但我調試了它,一切都很好。我甚至使用printWithDialog()進行測試,並且第一次通過它時,它會彈出對話框,但隨後它會通過throu,它什麼都不會做:O
所以我完全失去了如何解決這個問題,我感覺我需要訪問工具欄,並讓他們自己設置打印機和打印量(這是一個非常糟糕的主意,你不知道它們有多愚蠢)。