jasperreport 匯出pdf不能載入。
專案jasperreport模板匯出pdf,最近在瀏覽器不能開啟了。
提示【未能載入pdf文件】,但不是jasperreport匯出的pdf卻正常。
1、調查發現,通過**生成的pdf版本為1.4
而能正常顯示的pdf版本為1.7。
2、新問題:發現直接開啟pdf檔案能顯示,但是使用專案中還是有問題。
專案中載入pdf是通過controller讀取檔案後,用responseentity返回,
修改為reponse直接返回。
1、**中生成pdf時,指定pdf版本,如下:
string outputfile =
"c://jasper"
;string templatefile =
"c://jasper"
mapparams =
newhashmap
();list
datalist =
newarraylist
();// 載入模板
jasperdesign design = jrxmlloader.
load
(templatefile)
;jasperreport report = jaspercompilemanager.
compilereport
(design)
;// 填充資料
jrbeancollectiondatasource datasource =
newjrbeancollectiondatasource
(datalist)
;jasperprint print = jasperfillmanager.
fillreport
(report, params, datasource)
;// 設定樣式,支援中文
jrstyle style =
newjrbasestyle()
;style.
setpdfembedded
(boolean.true)
;style.
setpdffontname
("stsong-light");
style.
setpdfencoding
("unigb-ucs2-h");
print.
setdefaultstyle
(style)
;// 構建pdf匯出物件
jrpdfexporter exporter =
newjrpdfexporter()
; ******pdfexporterconfiguration configuration =
new******pdfexporterconfiguration()
;configuration.
setpdfversion
(pdfversionenum.version_1_7)
;// 指定pdf版本
exporter.
setconfiguration
(configuration)
;// 指定輸入物件
exporterinput exporterinput =
new******exporterinput
(print)
;exporter.
setexporterinput
(exporterinput)
;// 指定匯出物件
outputstreamexporteroutput exporteroutput =
new******outputstreamexporteroutput
(outputfile)
;exporter.
setexporteroutput
(exporteroutput)
;// 匯出pdf
exporter.
exportreport()
;
2、修改返回pdf流的方式。
response.
setcontenttype()
;file file =
newfile
("c://jasper");
fileinputstream in =
newfileinputstream
(file)
;outputstream out = response.
getoutputstream()
;byte
b =
newbyte
[512];
while
((in.
read
(b))!=-
1)out.
flush()
;in.
close()
;out.
close()
;
注意:一定不要加response.setheader(「content-disposition」,「attachment;filename=」+filename); 急!!!jasperreport報表匯出的問題
再做jasper報表的匯出時遇到了問題,在生成量兩張報表分別匯出的時候,一張可以成功匯出,另一張jasper丟擲如下異常 該異常處 為 public jasperprint fillreportend catch jrexception e return jasperprint 呼叫的jasper的...
JasperReport 製作含有list 的報表
jrbeancollectiondatasource 傳遞本身就是乙個list 該集合內部若還有其他list 則需要呼叫 jaspersoft 的list element 模組.f需現在fieids中 註冊.return values 裡可以設定返回值 一般返回值為要計算的資料的總和 平均值等 可在...
JasperReport的入門步驟
希望對於入門jasperreport的同仁們有幫助.首先,需要明白的是什麼是report.通俗一點說,就是將資料以某種格式展現出來.在這裡2有2格重要的方面,即資料和展現.對於資料,無非就是資料庫裡的資料以及經過對這些原始資料處理的資料.展現就是以某種格式將這些資料表現出來.對於乙個剛開始接觸jas...