Я создал PDF, используя летающую тарелку, которая отображает диалоговое окно печати при открытии. Вот код, который я написал для этого:
String inputFile = "firstdoc.xhtml";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "firstdoc.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
PdfReader reader = new PdfReader(outputFile);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("firstdocprint.pdf"));
stamper.setPageAction(PdfWriter.PAGE_OPEN, new PdfAction(PdfAction.PRINTDIALOG), 1);
stamper.close();
Когда я открываю PDF на моем ПК, через пару секунд появляется диалоговое окно печати.
Однако, когда я встраиваю PDF в скрытый iframe ...
<iframe src="firstdocprint.pdf" style="display:none"></iframe>
... диалоговое окно печати PDF никогда не отображается при первоначальной визуализации страницы.
Подход скрытого iframe работает с очень простым PDF-файлом "TEST". Я ожидаю, что диалоговое окно печати «firstdocprint.pdf» появится в течение нескольких секунд, а размер PDF - всего 2 КБ (простой «ТЕСТ» PDF - всего 1 КБ).
Есть ли способ программно ускорить рендеринг диалогового окна печати PDF?