Jasperreports5.6支持PDF微软雅黑字体
Jasperreports5.6支持PDF微軟雅黑字體
最近在開發(fā)需求時(shí)遇到一個(gè)問題,在打印標(biāo)簽時(shí)候要求,使用微軟雅黑字體打印貨物標(biāo)簽,在Jasperreports中使用微軟雅黑字體顯示正常,但是在瀏覽器中卻不能正常顯示
-
Jasperreport中顯示如下
-
在瀏覽器中顯示如下
默認(rèn)值顯示宋體,如果更換為其他字體則無法正常顯示
網(wǎng)上解決PDF導(dǎo)出中文顯示問題相關(guān)的文章很多,無非就是設(shè)置控件的pdf font name和pdf encoding屬性,但是在5.6中都已經(jīng)被棄用了(不推薦)。并且原來的解決方案還存在兩個(gè)問題:(1)預(yù)覽的字體通常不是STSong-Light, 這會(huì)導(dǎo)致預(yù)覽字體與導(dǎo)出到PDF不一致。(2)當(dāng)字符串中既有字母又有漢字的時(shí)候,導(dǎo)出的PDF可能莫名的換行。本文就介紹一種完美的解決方案,既保持一致性,也不會(huì)出現(xiàn)換行問題。
根據(jù)這個(gè)提示猜測(cè)到可能需要安裝字體
接下來就按照提示信息,下載所需的字體,我下載的是微軟雅黑的
下載地址:https://download.csdn.net/download/weixin_43159039/12673117
接下來就是安裝字體了
選擇工具->選項(xiàng)->Fonts
選擇剛剛下載的字體,點(diǎn)擊下一步
選擇粗體對(duì)應(yīng)的字體文件
最終如下圖
點(diǎn)擊完成就安裝完成了
安裝完成之后就會(huì)在ireport項(xiàng)目fonts目錄下出現(xiàn)字體文件
我的電腦目錄為 D:\安裝包\iReport-5.6.0\iReport-5.6.0\ireport\fonts,根據(jù)實(shí)際情況查看
我們會(huì)發(fā)現(xiàn)新增2個(gè)文件,然后irfonts.xml文件也發(fā)生了修改
里面的內(nèi)容變?yōu)榱?/p>
<?xml version="1.0" encoding="UTF-8"?><fontFamilies><fontFamily name="微软雅黑"><normal><![CDATA[msyh.ttf]]></normal><bold><![CDATA[msyhbd.ttf]]></bold><pdfEncoding><![CDATA[Identity-H]]></pdfEncoding><pdfEmbedded><![CDATA[true]]></pdfEmbedded></fontFamily></fontFamilies>
此時(shí)只是在我們的ireport編輯器中生效
如果想在項(xiàng)目中使用就必須吧字體生成jar文件,放在項(xiàng)目的WEB-INF/lib文件夾下
選擇iReport的安裝目錄,選擇fonts目錄,命令行切換到該目錄,執(zhí)行命令
jar cf msyh.jar *最快的方式則是直接在文件夾地址欄出入cmd
執(zhí)行之后就在此文件下生成了一個(gè)msyh.jar
然后將此jar放入項(xiàng)目中
- tomcat服務(wù)中直接放入 apache-tomcat/webapps/項(xiàng)目/WEB-INF/lib中
- 如果是eclipse則直接放入/WEB-INF/lib 或者引入到classpath中就可以
存在問題
- 使用此方法會(huì)導(dǎo)致原本的換行功能出現(xiàn)問題
如果你覺得以上特別步驟特別復(fù)雜,也可以直接使用我生成好的jar包
地址為:https://download.csdn.net/download/weixin_43159039/12673157
總結(jié)
以上是生活随笔為你收集整理的Jasperreports5.6支持PDF微软雅黑字体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux进程全解7——父进程wait
- 下一篇: Xshell6下载安装