2011-01-14 159 views
2

我開發了一個使用JasperReports的Web應用程序。我注意到這些報告正在打印服務器端。打印JasperReports客戶端?

您如何使報告打印客戶端(從Web瀏覽器)?

任何見解都將有所幫助。

回答

1

假設你有一個基於Servlet的架構:

  1. HttpServletResponse實例獲取一個手柄HttpServletResponse response = this.getThreadLocalResponse();(例如)。
  2. 設置各種標題以指示文件附件。
     
    HttpServletResponse response = getServletResponse(); 
    response.setHeader("Content-Description", "File Transfer"); 
    response.setHeader("Content-Disposition", "attachment; filename=" + 
        "report.pdf"); 
    response.setHeader("Content-Type", "application/pdf"); 
    response.setHeader("Content-Transfer-Encoding", "binary"); 
    
  3. 配置JRExporter(JRE)使用HttpServletRespone的輸出流:
     
    jre.setParameter(JRExporterParameter.OUTPUT_STREAM, getOutputStream()); 
    
  4. 執行報告。

瀏覽器將提示用戶將報告保存爲PDF文件。用戶可以打印PDF。

相關問題