jpivot中输出pdf打印汉字、excel导出汉语方法
jpivot中输出pdf打印汉字、excel导出中文方法
jpivot是目前用得最多得OLAP展现工具,pentaho,spagoBI,openi等都是用他来做展现,
jpivot中pdf打印输出中文
1.升级com.tonbeller.jpivot.print.PrintServlet文件到JPivot1.6.0以上,如果不想升级就修改PrintServlet
在init方法中增加以下语句.
java 代码
- public void init(ServletConfig config) throws ServletException {
- 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文件。内容如下:(仅配置黑体)
xml 代码
- <configuration>
- <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就可以了.
1 楼
ice-cream
2007-05-27
我正看openi,也碰到了这个问题