2010-08-02 2 views
0

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

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

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

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

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

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

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

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

ответ

0

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

Смежные вопросы