jpivot是目前用得最多得OLAP展現工具,pentaho,spagoBI,openi等都是用他來做展現,
jpivot中pdf打印輸出中文
1.升級com.tonbeller.jpivot.print.PrintServlet文件到JPivot1.6.0以上,如果不想升級就修改PrintServlet
在init方法中增加以下語句.
??
#????? super .init(config);???
#????? try ?{???
#??????? // ?set?base?FOP?FONT?directory.??The?font?config??stuff?will?be?looked?for?here???
#???????Configuration.put( " fontBaseDir " ,?config.getServletContext().getRealPath( " /WEB-INF/jpivot/print/ " ));???
#??????? // ?get?the?physical?path?for?the?config?file???
#???????String?fopConfigPath? = ?config.getServletContext().getRealPath( " /WEB-INF/jpivot/print/userconfig.xml " );???
#??????? // ?load?the?user?proerties,?contining?the?CustomFont?font.???
#??????? new ?Options( new ?File(fopConfigPath));???
#???
#?????}? catch ?(FOPException?e)?{???
#???????e.printStackTrace();???
#???????logger.info( " FOP?user?config?file?not?loaded " );???
#?????}? catch ?(Exception?e)?{???
#???????e.printStackTrace();???
#???????logger.info( " FOP?user?config?file?not?loaded " );???
#?????}???
#???}??
2.在WEB-INF\jpivot\print目錄下建立userconfig.xml文件。內容如下:(僅配置黑體)
#???
#? < fonts > ??
#???
#? < font? metrics-file ="simhei.xml" ?kerning ="yes" ?embed-file ="simhei.ttf" > ??
#???
#? < font-triplet? name ="SimHei" ?style ="normal" ?weight ="normal" /> ??
#???
#? < font-triplet? name ="SimHei" ?style ="normal" ?weight ="bold" /> ??
#???
#? < font-triplet? name ="SimHei" ?style ="italic" ?weight ="normal" /> ??
#???
#? < font-triplet? name ="SimHei" ?style ="italic" ?weight ="bold" /> ??
#???
#?font>??
#???
#?fonts>??
#???
#?configuration>???
3. 下載Apache的FOP包,解開fop-0.20.5.jar,啟用cmd,并到它的目錄中,執行:
java org.apache.fop.fonts.apps.TTFReader -ttcname SimHei C:\WINDOWS\Fonts\simhei.ttf simhei.xml
然后就會生成需要的兩個字體描述文件:simhei.xml
4. 將simhei.xml,以及simhei.ttf文件放到WEB-INF\jpivot\print目錄下。
5. 修改WEB-INF\jpivot\table目錄下的fo_mdxtable.xsl文件,把所有的font-family對應成SimHei
?jpivot excel導出中文
Excel中不支持UTF-8, Excel輸出對應的xsl文件是:../web-inf/jpivot/table目錄下的xls_mdxtable.xsl
只要這個文件的encoding換為GBK就可以了.