Jasperreports以及iReport4.5報表PDF導出字體完美解決方案


 在使用Jasperreports以及iReport設計報表時,導出PDF是一個常見的需求。網上解決PDF導出中文顯示問題相關的文章很多,無非就是設置控件的pdf font name和pdf encoding屬性,但是在4.5中都已經被棄用了(不推薦)。並且原來的解決方案還存在兩個問題:(1)預覽的字體通常不是STSong-Light, 這會導致預覽字體與導出到PDF不一致。(2)當字符串中既有字母又有漢字的時候,導出的PDF可能莫名的換行。本文就介紹一種完美的解決方案,既保持一致性,也不會出現換行問題。

 

     首先,安裝完iReport之后,安裝你想要使用的字體。Windows操作系統下面有各種字體,下面以仿宋的安裝為例。在C:\Windows\Fonts文件夾下找到simfang.ttf仿宋字體文件。選擇iReport菜單:工具->選項(英文應該為Tools->Options) ,在彈出的窗口中選擇Fonts Tab。點擊 Install Font按鈕,選擇剛才找到的仿宋字體文件simfang.ttf,點擊下一步,選擇pdf-encoding為Identity-H (Unicode with horizontal writing),勾選Embed in this font in the PDF document。 點擊完成即可。此時應該可以在控件的font屬性中看到宋體選項,選擇宋體,即可預覽,也可在iReport里面導出PDF。具體的截圖如下:

 

    其次打包字體文件。要在具體的項目中運用剛才設置的字體,需要把字體文件以及Jasperreports配置文件打包為Jar包,並放到classpath中。切換到iReport的安裝目錄,選擇fonts目錄,命令行切換到該目錄,執行命令: jar cf simfang.jar  *  。 打包的方式有很多 ,ant,maven等也都可以。把simfang.jar放到項目classpath下面即可。

 

     到此,完成了Jasperreports的個性化字體設置。控件的字體設置為仿宋即可,pdf相關的屬性不用再設置。預覽和PDF導出效果完全一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM