iReport 5.6.0 PDF導出中文不顯示問題 解決方案


問題描述

iReport 5.6.0 PDF格式導出,中文不顯示。

報錯信息如下: 

Error exporting print... Could not load the following font : 
pdfFontName   : STSong-Light
pdfEncoding   : UniGB-UCS2-H
isPdfEmbedded : true
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 
pdfFontName   : STSong-Light
pdfEncoding   : UniGB-UCS2-H
isPdfEmbedded : true 
    at net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:2117) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1906) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1875) 
    at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.getPhrase(SimplePdfTextRenderer.java:89) 
    at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.render(SimplePdfTextRenderer.java:100) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2238) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:950) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:909) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:786) 
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:513) 
    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:1174) 
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) 
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

 

 

前提

已經對自己設計的報表統一設置了pdf的字體格式。配置如下:

Font name: 宋體 

Pdf Font name: STSong-Light 

Pdf Embeded: true (打鈎) 

Pdf Encoding: UniGB-UCS2-H(Chinese Siplified) 

 

截圖如下:

 

 

現象

iReport 5.6.0 Preview中文展示是OK的,但是導出的PDF中文異常。效果如下:

1)iReport Preview 結果如下:

 

2)PDF導出結果:

 

 

問題分析

PDF的中文沒有得到正確轉換。

 

解決方案

有兩種非常簡單解決方案,采取其中一種,即可完美解決PDF中文不顯示問題。具體如下:

方案1:

工具--> 選項--> iReport--> Classpath--> Add JAR--> H:\SW_install\Jaspersoft\iReport-5.6.0\ireport\modules\ext\iTextAsian.jar  (此處需要根據自己iReport 5.6.0的安裝目錄進行選擇)

添加完 iTextAsian.jar 后,在 Reloadable列 將其勾選,重啟iReport 5.6.0,PDF中文即可正常顯示。

 

操作詳細步驟如下:

本地安裝的iReport目錄 Jaspersoft\iReport-5.6.0\ireport\modules\ext\ 目錄下找到 iTextAsian.jar

 

 方案二:

比方案一更簡單,不需要執行方案一的那些操作!!

只需要將 Jaspersoft\iReport-5.6.0\ireport\modules\ext\目錄下的 iTextAsian.jar這一個jar包,Copy一份到 Jaspersoft\iReport-5.6.0\platform9\lib\目錄下。

重啟iReport,即可解決PDF預覽中文亂碼的問題。

是不是超級簡單?!^_^

 

效果如下:

 

 

至此,PDF預覽中文不顯示的問題,已處理完畢!

 

PS:希望本文能幫到需要幫助的同行。

另外如果需要iReport 5.6.0安裝文件,在我的博客里有百度網盤,可以免費下載,推崇資源信息共享。

請參考:https://www.cnblogs.com/miracle-luna/p/10560294.html

 

由於技術有限,如有紕漏,還望指正。

如有疑問,可以提出來,互相探討,共同進步。

謝謝。

 


免責聲明!

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



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