我使用飞碟创建了一个 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();
当我在 PC 上打开 PDF 时,几秒钟后会显示打印对话框。
但是,当我将 PDF 嵌入到隐藏的 iframe 中时...
<iframe src="firstdocprint.pdf" style="display:none"></iframe>
...最初呈现页面时,PDF 打印对话框永远不会出现。
隐藏的 iframe 方法正在处理一个非常简单的“测试”PDF。我希望“firstdocprint.pdf”打印对话框会在几秒钟内出现,并且 PDF 只有 2KB(简单的“TEST”PDF 只有 1KB)。
有没有办法以编程方式加速 PDF 打印对话框的呈现?