IE和FF中没有出现打印窗口 - net.sf.jasperreports.engine.export.JRPdfExporter

时间:2012-11-08 23:24:04

标签: java pdf printing jasper-reports

  

可能重复:
  how to open print dialog after pdf generated

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

JRPdfExporter pdfExporter = new JRPdfExporter();
pdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
pdfExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, byteArrayOutputStream);

if (isPrint) {
    pdfExporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();");
}

try {
    pdfExporter.exportReport();
} catch (JRException e) {
    log.error("Exception exporting pdf report");
    throw new PrintExportException(e);
}

return byteArrayOutputStream;

这是使用 JRPdfExporter 返回pdf文档的 Java 方法的片段 - 除了问题之外,它在所有浏览器中都能正常工作使用 IE FF 。如果要将文档直接发送到打印机,if (isPrint)语句会设置打印文档的 JavaScript ,而不是将其呈现以供下载。

IE FF 中 - 也许20次中的一次不起作用。打印预览对话框不会出现。之后,我可以尝试再次生成文档,它可以工作,所以这似乎是一个间歇性的问题。没有控制台错误。

此代码中有任何问题吗?我无法确定它。

0 个答案:

没有答案