<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 828831
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    iReport與JasperReport中文支持全面解決
    在使用iReport與JasperReport作為報(bào)表產(chǎn)生工具時, 中文支持是經(jīng)常遇到的問題,筆者最近做的一個J2EE Web項(xiàng)目采用這套工具開發(fā)報(bào)表,也遇到了類似問題,本文總結(jié)了在使用iReport與JasperReport開發(fā)報(bào)表時中文支持的有關(guān)內(nèi)容,希望能對讀者有所幫助.
    1 運(yùn)行環(huán)境
        1.1 JasperReport 1.2.8
        JasperReports是iReport的核心內(nèi)容。它是一個強(qiáng)有力的開源報(bào)表產(chǎn)生工具,可以將內(nèi)容輸出到屏幕上、打印機(jī)或生成PDF, HTML, XLS, CSV和XML等文件。它完全用Java編寫,并可在各種Java應(yīng)用(包括J2EE或WEB應(yīng)用)中用來產(chǎn)生動態(tài)報(bào)表內(nèi)容。JasperReports組織根據(jù)在一個XML文件中定義的報(bào)表設(shè)計(jì)通過JDBC訪問關(guān)系數(shù)據(jù)庫中的數(shù)據(jù).填充報(bào)表數(shù)據(jù)之前必須先將報(bào)表設(shè)計(jì)被編譯成一個jasper文件。
    下載地址: http://jasperreports.sourceforge.net/
        1.2 iReport 1.2 8
        iReport是一個制作Jasperreport XML文件的優(yōu)秀可視化開發(fā)工具,通過它可以方便的設(shè)計(jì)報(bào)表模板。目前最高版本為iReport 1.3.0
    下載地址: http://ireport.sourceforge.net
       1.3 iText 1.3.1
       iText是一個開放源碼的Java類庫,是用來生成PDF文件的。
    下載地址: http://itext.sourceforge.net
       1.4 iTextAsian.jar
       如果要在生成的pdf文件顯示中文等亞洲字符,還必須下載itext的亞洲字符包。
    下載地址: http://itextdocs.lowagie.com/downloads/iTextAsian.jar
    以上四個包必須加到應(yīng)用程序的構(gòu)建路徑中或加到CLASSPATH,若是Web應(yīng)用放入相應(yīng)的WEB-INF\lib\中。
    2 設(shè)置中文支持
        為了在報(bào)表中能夠顯示中文,加入以上四個包還不夠(因?yàn)橐陨纤膫€包僅對報(bào)表生成及中文顯示提供了支持),必須設(shè)置報(bào)表上各顯示對象的相關(guān)屬性,各屬性設(shè)置說明如下:
        Font        name:    宋體 (中文字體)
        PDF font name:   STSong-Light
        PDF  Encoding:  UniGB-UCS2-H(Chinese Siplified)
        PDF   Embeded: √
        如下圖所示(顯示對象的屬性設(shè)置):

        注意:此三項(xiàng)的設(shè)置必須確保iTextAsian.jar亞洲語言包已經(jīng)包含在項(xiàng)目中,否則出現(xiàn)編譯錯誤.
        若讀者覺得對每一個對象設(shè)置比較麻煩,可通過iReport的”Format”?”Fonts”菜單進(jìn)行統(tǒng)一設(shè)置,并設(shè)成報(bào)表的默認(rèn)字體。如下圖所示:

    3可能出現(xiàn)的問題
       經(jīng)過以上的設(shè)置,報(bào)表中文的顯示應(yīng)該沒什么問題了,筆者在報(bào)表的開發(fā)過程中遇到幾個問題,現(xiàn)總結(jié)如下:
      3.1 問題描述
       在WinXp中運(yùn)行iReport1.2.8,設(shè)計(jì)報(bào)表時將數(shù)據(jù)字段的字體設(shè)置成中文字體,調(diào)好格式后編譯并運(yùn)行,并使用JRViewer進(jìn)行預(yù)覽一切正常(中文顯示正常),但使用PDF、Excel預(yù)覽出現(xiàn)如下錯誤:
       Could not load the following font :
       pdfFontName   : STSong-Light
       pdfEncoding   : UniGB-UCS2-H
       isPdfEmbedded : true
       產(chǎn)生原因:成成PDF的亞洲語言包沒有包含到項(xiàng)目中
       解決辦法:將亞洲語言包iTextAsian.jar包含到項(xiàng)中,可能過iReport的”Options”?”Classpath”將iTextAsian.jar添加Classpath中或者直接將iTextAsian.jar復(fù)制到iReport安裝目錄下的lib中.若是Web項(xiàng)目則應(yīng)該將iTextAsian.jar復(fù)制到此項(xiàng)目的WEB-INF\lib\中.
       3.2 問題描述
        在WinXp中運(yùn)行iReport1.2.8,設(shè)計(jì)報(bào)表時將數(shù)據(jù)字段的字體設(shè)置成中文字體,調(diào)好格式后編譯并運(yùn)行,并使用JRViewer進(jìn)行預(yù)覽一切正常(中文顯示正常),使用PDF、Excel預(yù)覽時無任何錯誤,但中文無法顯示(只顯示空白).
        產(chǎn)生原因:報(bào)表顯示對象的PDF字體屬性設(shè)置不正確
        解決辦法: 報(bào)表對象有關(guān)字體屬性的設(shè)置如下:
        Font        name:         宋體 (中文字體)
        PDF font name:  STSong-Light
        PDF Encoding:   UniGB-UCS2-H(Chinese Siplified)
        PDF Embeded:  √
       即如下圖所法

       3.3問題描述
        生成PDF、Excel文件時,中文顯示一切正常,但生成Html文件時顯示亂碼
     產(chǎn)生原因:主要是網(wǎng)頁編碼問題
        解決方法
     在JSP頁中生成Html時,設(shè)置 <%@ page contentType="text/html;charset=GB2312" %> 
     在Servlet中生成Html時,response.setContentType("text/html;charset=GB2312");
     若用戶對項(xiàng)目進(jìn)行了統(tǒng)一編碼設(shè)定及過濾,則需要另作考慮,但主要還是集中在編碼問題上.例如:筆者最近做的項(xiàng)目是其于Struts的,對編碼進(jìn)行了統(tǒng)一和過濾處理,生成Html頁面時無需指編碼就可正確生成Html頁面,并不會出亂碼,若設(shè)置成charset=GB2312反而出現(xiàn)了亂碼.總之,對編碼的統(tǒng)一與處理還是比較嘛煩的事.
        另外, 我們通過查看iReport生成的jrxml(<?xml version="1.0" encoding="UTF-8" ?>)文件可以發(fā)現(xiàn), iReport保存的漢字都是UTF-8編碼。了解它的編碼可以有助于我們統(tǒng)一編碼方式。

    轉(zhuǎn)自:http://verytiny.iteye.com/blog/145764

    posted on 2012-12-07 09:14 Ke 閱讀(5827) 評論(0)  編輯  收藏 所屬分類: iReport
    主站蜘蛛池模板: 无遮挡a级毛片免费看| 99视频免费播放| 亚洲伊人tv综合网色| 99在线在线视频免费视频观看| 亚洲精品精华液一区二区| 亚洲av无码精品网站| 2021国产精品成人免费视频| 久久免费99精品国产自在现线| 亚洲人成人网站18禁| 亚洲国产成人资源在线软件| 国产亚洲福利一区二区免费看| 4hu四虎免费影院www| 国产亚洲欧美在线观看| 亚洲国产精品VA在线观看麻豆| 黄页免费的网站勿入免费直接进入| 国产在线观看xxxx免费| 亚洲AV成人影视在线观看| 久久影视综合亚洲| 午夜免费不卡毛片完整版| 欧亚精品一区三区免费| 亚州免费一级毛片| 成人嫩草影院免费观看| 亚洲国产日韩在线成人蜜芽| 亚洲欧洲第一a在线观看| 亚洲av色福利天堂| 亚洲av无码乱码国产精品| 亚洲午夜国产精品无码| 久久久久亚洲AV成人网| 久久亚洲国产成人精品无码区| 免费人妻无码不卡中文字幕18禁| 日韩a级毛片免费观看| 4444www免费看| 精品免费久久久久国产一区 | 亚洲午夜视频在线观看| 亚洲精品蜜桃久久久久久| 麻豆国产入口在线观看免费| 免费人成在线视频| 最近最好的中文字幕2019免费| 无限动漫网在线观看免费| a在线观看免费视频| 国产亚洲免费的视频看|