У меня странная проблема.У меня есть программа, которая (делает много вещей, но также) показывает pdf через элемент управления axAcroPDF.В элементе управления я скрываю панель инструментов, потому что я не хочу, чтобы пользователь имел к ним доступ, поэтому я сделал кнопку «Печать» (единственная функция, к которой я хочу, чтобы у них был доступ).
Теперь я прошел черезчерт возьми, как найти принтер по умолчанию, потому что Adobe решила, что было бы разумно не разрешать передавать путь принтера в их функции printAll (), см. рисунок.
Существует 2 вида бумаги, одна дешевая иодин очень дорогой, поэтому в зависимости от типа документа он будет печататься на одном принтере или другом (и не должен испортить, иначе это будет дорого).
Итак, PrintA - принтер по умолчаниюдля всего, и PrintB - дорогой бумажный принтер.
Если я печатаю с PrintB, моя программа сохраняет в памяти текущий принтер по умолчанию, переключает принтер по умолчанию на PrintB, печатает документ, затем переключается на PrintA.Проблема в том, что после этого, если я попытаюсь напечатать обычный документ, он будет печататься с PrintB (даже если PrintA - принтер по умолчанию).
Обратное также верно.Если я сначала распечатаю обычный документ с PrintA, то после этого он будет использовать PrintA для печати специального документа.
Это будет происходить до тех пор, пока я не закрою программу.Сначала я подумал, что это моя программа, но я отладил ее, и все было хорошо.Я даже тестирую с printWithDialog () и в первый раз, когда он проходит через него, он выводит диалоговое окно, но в следующий раз, когда он проходит через него, он ничего не будет делать: O
Так что я совершенно потерян, как это исправитьи я чувствую, что мне нужно будет предоставить доступ к панели инструментов, чтобы они сами установили принтер и количество отпечатков (что очень и очень плохо, вы не представляете, насколько они глупы).