Google Prettify

2008-10-29

如何在WEB中使用jasper產生PDF檔?

目錄架構:
web
└report
    └template.jrxml
    └template.jasper
使用i-Report編寫jrxml檔、並直接用i-Report編譯產生jasper檔。
使用servletContext取得jasper檔之路徑:

String jasperPath =servletContext.getRealPath("/report/template.jasper");

ServletContext的取得依所使用的web framework而有所不同。以JSF來說,servletContext的取得如下:

ServletContext servletContext=(ServletContext)FacesContext.getCurrentInstance(). getExternalContext().getContext();

接下來產生byte[]串流:

JasperFillManager.fillReportToFile(jasperPath, parameter,conn);
byte[] bytes = JasperRunManager.runReportToPdf(jasperPath, parameter, conn);

之所以要產生byte[]是因為它轉成Stream或是File都很方便。JasperRunManager也提供了很多不同型態+報表類型的回傳值。(詳見API..)。
接下來由HttpResponse取得outputStream並寫出

response.getOutputStream().write(bytes);

1 則留言 :

happy.pencil 提到...

您好,我想請問一下,
如果我產生後的pdf檔,無法順利顯示中文,
會是什麼原因呢?

==============
我在NetBeans中也有加入
itext-2.0.8.jar
iTextAsian.jar

程式中使用的字集為:charset=big5
但在ireport下,我所preview所看見的pdf檔中文是ok的。
只是當我用jsp產生pdf檔後就不行了。
但其他英文字仍是可以顯示出,
請問會是什麼問題呢?

您或許對這些有興趣

Related Posts with Thumbnails

最後

謝謝您的閱讀,希望您可以有豐富的收獲。