C # AcroPDF всегда печатать на первом принтере - PullRequest
0 голосов
/ 02 августа 2010

У меня странная проблема.У меня есть программа, которая (делает много вещей, но также) показывает pdf через элемент управления axAcroPDF.В элементе управления я скрываю панель инструментов, потому что я не хочу, чтобы пользователь имел к ним доступ, поэтому я сделал кнопку «Печать» (единственная функция, к которой я хочу, чтобы у них был доступ).

Теперь я прошел черезчерт возьми, как найти принтер по умолчанию, потому что Adobe решила, что было бы разумно не разрешать передавать путь принтера в их функции printAll (), см. рисунок.

Существует 2 вида бумаги, одна дешевая иодин очень дорогой, поэтому в зависимости от типа документа он будет печататься на одном принтере или другом (и не должен испортить, иначе это будет дорого).

Итак, PrintA - принтер по умолчаниюдля всего, и PrintB - дорогой бумажный принтер.

Если я печатаю с PrintB, моя программа сохраняет в памяти текущий принтер по умолчанию, переключает принтер по умолчанию на PrintB, печатает документ, затем переключается на PrintA.Проблема в том, что после этого, если я попытаюсь напечатать обычный документ, он будет печататься с PrintB (даже если PrintA - принтер по умолчанию).

Обратное также верно.Если я сначала распечатаю обычный документ с PrintA, то после этого он будет использовать PrintA для печати специального документа.

Это будет происходить до тех пор, пока я не закрою программу.Сначала я подумал, что это моя программа, но я отладил ее, и все было хорошо.Я даже тестирую с printWithDialog () и в первый раз, когда он проходит через него, он выводит диалоговое окно, но в следующий раз, когда он проходит через него, он ничего не будет делать: O

Так что я совершенно потерян, как это исправитьи я чувствую, что мне нужно будет предоставить доступ к панели инструментов, чтобы они сами установили принтер и количество отпечатков (что очень и очень плохо, вы не представляете, насколько они глупы).

1 Ответ

0 голосов
/ 27 августа 2010

Мы наконец решили, что все наши проблемы были бы лучше, если бы нам не пришлось иметь дело с Adobe.Именно это мы и сделали.Мы установили Foxit, и все наши принтеры исчезли!

...