JasperReport 匯出PDF不能載入

2021-10-10 16:29:28 字數 2557 閱讀 2432

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...