日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

JasperReport報表導出PDF中文不顯示的問題

作者:huayang183 更新時間: 2022-03-14 編程語言

? ? ?首先在JasperReport Studio中加載下載好的中文字體:打開設置頁面: Window >> Preferences >> Jaspersoft Studio >> Fonts,點擊 Add 添加字體,F(xiàn)amilyName中命名新添加字體名稱,TrueType中選擇下載的字體文件(.ttf文件),PDF Encoding中選擇PDF中中文字體編碼格式。

?

? ? ? ? 這時Studio的字體下拉框中就有了我們添加的字體。將我們報表中的中文字體設置為“華文宋體”或“微軟雅黑”。

? ? ? ? 我們的web工程中引入了JasperReport相關jar包:

? ? ? ? ? ? ? ? <dependency>
?? ??? ? ? ?<groupId>net.sf.jasperreports</groupId>
?? ??? ? ? ?<artifactId>jasperreports</artifactId>
?? ??? ? ? ?<version>6.9.0</version>
?? ??? ?</dependency>
?? ??? ?<dependency>
?? ??? ? ? ?<groupId>net.sf.jasperreports</groupId>
?? ??? ? ? ?<artifactId>jasperreports-fonts</artifactId>
?? ??? ? ? ?<version>6.9.0</version>
?? ??? ?</dependency>
? ? ? ? 這時我們要對jasperreports-fonts依賴的jar包進行更改,加入我們下載的字體文件。

? ? ? ? 使用解壓軟件打開jasperreports-fonts.far,逐層找到dejavu文件夾和fonts.xml文件。打開dejavu文件夾,將我們下載的ttf文件拖入其中。將fonts.xml文件復制出來進行更改。

?

? ? ? ? 在fonts.xml中<fontFamilies>標簽內加入如下代碼,保存后復制到jar包中替換原來的fonts.xml文件。

?
? ? <fontFamily name="華文宋體">
? ? ? ? <normal>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</normal>
? ? ? ? <bold>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</bold>
? ? ? ? <italic>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</italic>
? ? ? ? <boldItalic>net/sf/jasperreports/fonts/dejavu/HuaWenSongTi.ttf</boldItalic>
? ? ? ? <pdfEncoding>Identity-H</pdfEncoding>
? ? ? ? <pdfEmbedded>true</pdfEmbedded>
? ? ? ? <exportFonts>
? ? ? ? ? ? <export key="net.sf.jasperreports.html">'華文宋體', Arial, Helvetica, sans-serif</export>
? ? ? ? ? ? <export key="net.sf.jasperreports.xhtml">'華文宋體', Arial, Helvetica, sans-serif</export>
? ? ? ? </exportFonts>
? ? </fontFamily>
?? ?
? ? <fontFamily name="微軟雅黑">
? ? ? ? <normal>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</normal>
? ? ? ? <bold>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</bold>
? ? ? ? <italic>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</italic>
? ? ? ? <boldItalic>net/sf/jasperreports/fonts/dejavu/WeiRuanYaHei.ttf</boldItalic>
? ? ? ? <pdfEncoding>Identity-H</pdfEncoding>
? ? ? ? <pdfEmbedded>true</pdfEmbedded>
? ? ? ? <exportFonts>
? ? ? ? ? ? <export key="net.sf.jasperreports.html">'微軟雅黑', Arial, Helvetica, sans-serif</export>
? ? ? ? ? ? <export key="net.sf.jasperreports.xhtml">'微軟雅黑', Arial, Helvetica, sans-serif</export>
? ? ? ? </exportFonts>
? ? </fontFamily>
? ? ? ? 此時將JasperReport Studio中設計好的jasper文件導入我們的項目中然后啟動,JasperReport報表導出的PDF中已經(jīng)可以正常顯示中文了。
?

原文鏈接:https://blog.csdn.net/qq_18671415/article/details/120915901

欄目分類
最近更新