我写了一些动态生成 PDF 文件的 Action 。类似于:reports/reportGenerator.action
当我调用 reports/reportGenerator?param=dialy
时,它会在弹出窗口中打开生成的 pdf,然后我可以按打印按钮打开打印机对话框并打印它。
我现在要做的是直接打开打印机对话框。因此,当我调用 reports/reportGenerator?param=dialy
并完全生成 pdf 文件后 时,打开打印机对话框。那可能吗? (我知道打印机对话框不能跳过)
更多信息: Action 是这样的:
sout = response.getOutputStream();
response.setContentType("application/pdf");
response.setHeader("Content-disposition","inline; filename=\"myReport.pdf\"");
sout.write(pdfBytes);
sout.flush();
sout.close();
最佳答案
感谢 Alex K,我找到了答案:
根据 JRPdfExporterParameter.html#PDF_JAVASCRIPT
您可以使用 PDF_JAVASCRIPT
属性在生成 pdf 时将 javascript 添加到 pdf。
所以我加了
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();");
导出 PDF 时成功了
关于javascript - pdf生成后如何打开打印对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733276/