2011-01-14 18 views
2

私はJasperReportsを使用するWebアプリケーションを開発しました。私は、レポートがサーバー側で印刷されていることに気付きました。JasperReportsクライアント側を印刷しますか?

レポートをクライアント側(ウェブブラウザから)で印刷するにはどうすればよいですか?

洞察力が役立ちます。あなたはサーブレットベースのアーキテクチャ持っていると仮定

答えて

1

  1. は、(例えば)HttpServletResponse response = this.getThreadLocalResponse();HttpServletResponseインスタンスのハンドルを取得します。
  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. はHttpServletResponeの出力ストリームを使用するJRExporter(JRE)を設定します。
     
    jre.setParameter(JRExporterParameter.OUTPUT_STREAM, getOutputStream()); 
    
  4. レポートを実行します。

ブラウザは、レポートをPDFファイルとして保存するように求めます。ユーザーはPDFを印刷できます。

関連する問題