pdf生成后如何打开打印对话框?

Yic*_*aoz 3 javascript pdf jasper-reports

我写了一些生成动态PDF文件的动作.类似于:reports/reportGenerator.action

当我调用reports/reportGenerator?param=dialy它时会在弹出窗口中打开生成的pdf,然后我可以按打印按钮打开打印机对话框并打印它.

我现在要做的是直接打开打印机对话框.所以当我打电话reports/reportGenerator?param=dialy完全生成pdf文件后,打开打印机对话框.那可能吗?(我知道不能跳过打印机对话框)

更多信息:动作是这样的:

sout = response.getOutputStream();
response.setContentType("application/pdf");
response.setHeader("Content-disposition","inline; filename=\"myReport.pdf\"");
sout.write(pdfBytes);
sout.flush();
sout.close();
Run Code Online (Sandbox Code Playgroud)

Yic*_*aoz 7

感谢Alex KI找到答案:

根据JRPdfExporterParameter.html#PDF_JAVASCRIPT

您可以使用PDF_JAVASCRIPT属性在生成时将javascript添加到pdf.

所以我补充道

JRPdfExporter exporter = new  JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();");
Run Code Online (Sandbox Code Playgroud)

导出PDF时,它工作正常