Search code examples
javascriptpdfjasper-reports

How to open print dialog after pdf generated?


I wrote some actions which generates dynamically PDF files. something like: reports/reportGenerator.action

when I call reports/reportGenerator?param=dialy it will open the generated pdf in a popup, and then I can press the print button to open the printer dialog and print it.

what I want to do now is to open the printer dialog directly. so when I call reports/reportGenerator?param=dialy and after the pdf file is fully generated, open the printer dialog. is that possible? (I know the printer dialog can not be skipped)

more info: action is something like this:

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

Solution

  • Thanks to Alex K I found the answer:

    according to JRPdfExporterParameter.html#PDF_JAVASCRIPT

    you can use PDF_JAVASCRIPT property to add javascript to the pdf when you generate it.

    so I added

    JRPdfExporter exporter = new  JRPdfExporter();
    exporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();");
    

    when exporting PDF and it worked