Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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();
like image 322
Yichaoz Avatar asked Dec 28 '22 08:12

Yichaoz


1 Answers

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

like image 120
Yichaoz Avatar answered Dec 30 '22 12:12

Yichaoz