У меня есть приложение с Java 1.6 и JSF 1.2. Документы PDF печатаются в этом приложении. Проблема в том, что после обновления Windows окно принтера не отображается в Internet Explorer 11.
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT,
"this.print({bUI: true,bSilent: false,bShrinkToFit: true});");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
exporter.exportReport();
Если я запрограммирую его на тихую печать без отображения диалогового окна принтера, он будет работать отлично.
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT,
"var pp = this.getPrintParams();pp.interactive =
pp.constants.interactionLevel.silent;this.print(pp);");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
exporter.exportReport();
Мне нужно иметь возможность отображать диалоговое окно печати.
После многих тестов я увидел возможное решение (хотя оно не является окончательным решением). Если я сниму флажок с опции включения защищенного режима при запуске в меню Adobe Acrobat Reader, если он работает, но не служит окончательным решением в производственной среде
Попробовав различные конфигурации, я увидел, что проблема решается в два этапа. Первый шаг — отключить безопасный режим в Adobe Reader, а второй шаг — также удалить безопасный режим в Internet Explorer 11. Есть два изменения, о которых я не могу просить пользователя. Есть ли способ сделать это с помощью кода?