【问题标题】:Saving jasper report as pdf on server在服务器上将碧玉报告保存为 pdf
【发布时间】:2014-10-18 19:49:31
【问题描述】:

我有一个使用 jasper 报告创建 pdf 的 servlet。此 pdf 使用 JasperExportManager.exportReportToPdfStream() 方法显示在 Web 浏览器中。这工作正常。但是,我想要的是将文件保存在服务器上的文件夹中。我尝试使用以下代码执行此操作:

String outputFile = getServletContext().getRealPath("/theFolder");
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFile + "/thePDF.pdf");

此代码不会产生任何错误并运行完成,但我无法在服务器上的任何位置找到该文件。我究竟做错了什么?谢谢。

【问题讨论】:

    标签: java servlets jasper-reports


    【解决方案1】:

    如果您的 jasper 调试日志配置良好。在输出中,您将看到生成报告的路径。

    或者你可以使用我的代码

    String path=System.getProperty("user.dir");
    JasperExportManager.exportReportToPdfFile(this.jp, path + "/reports/Report.pdf");
    

    这会将您的文件保存在相对于文件夹路径的位置。如有必要,您还可以提供绝对路径。

    还要检查报告是否存在于项目的目标文件夹中。

    【讨论】:

      【解决方案2】:
      Try this 
      JRExporter exporter = new JRPdfExporter();
      
      /*
      * Saves the PDF file generated inside 
      * ....../build/web/WEB-INF/resources/invoice/filename.pdf
      */
      exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
      exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFile);
      exporter.exportReport();
      

      【讨论】:

        【解决方案3】:

        我有相同的代码,并且 PDF 保存在: C:\Users\weblogic\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\你的项目\ViewControllerWebApp.war\你的文件夹

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多