`
华山剑
  • 浏览: 20668 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
  • lyyf: 马马虎虎明白了点。但是,接口,搞成私有的,别的类能使用吗?
    线程安全

解决jpivot1.8.0输出PDF表格不支持显示中文字符的问题

阅读更多

目前(2011年8月)JPivot的最新版本1.8.0,在PDF格式输出的表格中还不支持中文字体,需要手工添加中文字库。

1. 查看JPivot源码(1.6.0以上)com.tonbeller.jpivot.print.PrintServlet

有一个init()方法

 

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");
    }
  }
 

 

可以看到当打印PDF文档时,系统会尝试去fopConfigPath下加载自定义的font配置文件userconfig.xml
2. OK,我们现在就去添加这么一个FONT configuration,内容为JPivot中定义的Italic/ normal 与中文字体SimHei(黑体)映射关系:

   【userconfig.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(lastest stable version is 1.0.0) 转换windows系统自带的字体库simhei.ttf为xml文件(simhei.xml)

具体方法:

java org.apache.fop.fonts.apps.TTFReader -ttcname SimHei C:\WINDOWS\Fonts\simhei.ttf simhei.xml

运行成功后生成simhei.xml

将simhei.tff和simhei.xml复制到/WEB-INF/jpivot/print目录下。


4. 编辑/WEB-INF/jpivot/table/fomdxtable.xsl

将SimHei添加为所有font-family的首选值,OK,至此问题搞定!


致谢 参考文档:http://www.iteye.com/topic/80801

分享到:
评论

相关推荐

    olap,jpivot-1.8.0.zip

    Jpivot 1.8.0是该软件的一个版本,可能包含了一些改进和新特性,比如性能优化、错误修复或新的API支持。 在Jpivot 1.8.0这个压缩包中,我们主要关注以下几个方面的知识点: 1. **多维数据模型**:Jpivot支持MDX...

    jpivot-1.8.0

    JPivot是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP导航,如下钻,切片和方块。它使用Mondrian 作为其OLAP服务器。它使用WCF (Web Component Framework) ,基于XML/XSLT来渲染Web...

    如何将Mondrian+jpivot用于web项目

    如何将Mondrian+jpivot用于web项目

    JPivot标签使用详解 中文

    JPivot是一款基于Mondrian的在线分析处理(OLAP)前端展示工具,专门解决OLAP的展示层问题。它提供了一系列的JSP标签,使得开发者能够在网页中方便地构建和控制OLAP应用。下面将详细阐述各个主要标签的功能和用法。 ...

    JPivot+Mondrian资料收集汇总(1)

    开发者可以使用JPivot提供的API来定义表格的布局,包括选择要显示的维度和度量,设定行列的划分方式,以及如何聚合数据。此外,JPivot还支持自定义函数和过滤条件,以满足更复杂的数据分析需求。 在用户交互方面,...

    jpivot+wcf

    1.jpivot-1.8.0.zip:内有jpivot.war,mondrian-src.zip, 2.wcf-1.7.0.zip,与jpivot-1.8匹配的wcf库,内有wcf.war,wcf-src.zip 可以发布war应用程序,并结合src源代码,研究下mondrian+jpivot实现框架

    jpivot-1.8.jar

    jpivot-1.8.jar作为jpivot的主要组件,为Java开发者提供了一种高效的数据分析解决方案。它简化了数据透视和OLAP操作,使得企业能够快速响应市场变化,做出基于数据的明智决策。同时,其强大的可扩展性和良好的集成性...

    JPivot+Mondrian资料收集汇总(2)

    这份文档可能包含了作者在学习和实践JPivot过程中的经验总结,包括遇到的问题、解决方案、最佳实践以及优化技巧。这将为初学者提供宝贵的参考,帮助他们避免常见的陷阱,更快地掌握JPivot的使用。 总的来说,这个...

    jpivot1.8帮助文档

    jpivot1.8帮助文档,为方便大家携带特转换为chm格式的

    jpivot教程

    jpivot支持两种方式来连接数据库: 1. **直接使用JDBC**:这种方式通过提供数据库驱动和URL等信息直接建立连接。 ```xml jdbcDriver="oracle.jdbc.driver.OracleDriver" jdbcUrl="jdbc:oracle:thin:ngykt/...

    Mondrain导出PDF乱码

    当用户尝试使用Mondrain将报表导出为PDF时,如果处理不当,可能会出现字符显示不正常,也就是我们常说的“乱码”。 乱码问题通常由以下几个因素引起: 1. **字符编码不一致**:PDF文件默认使用的是Unicode编码...

    jpivot.zip下载包

    《jpivot.zip下载包》是针对Java开源项目Jpivot的压缩包资源,它包含了Jpivot的核心组件和相关配置文件,便于用户快速搭建和使用Jpivot的功能。Jpivot是一款基于Java Swing的多维数据分析和报表展示工具,常用于企业...

    jpivot学习总结.doc

    JPivot 是一套基于 Mondrian 的 OLAP 前端展现工具,它提供了一套标签库来解决的 OLAP 的展现层问题。 在一个 JSP 页面当中,如果要使用 JPivot 标签库,除了要配置相关的配置文件外,我们需要在 JSP 头的位置声明...

    jpivot汇总.doc

    jpivot汇总.doc

    MDX动态参数的跳转_Jpivot的clickable标签的使用

    Jpivot是一个基于Java的开源库,它提供了灵活的数据透视表和图表功能,支持用户通过MDX查询与多维数据集进行交互。在Jpivot中,`clickable`标签允许用户为特定的单元格或区域设置点击事件,通常用于实现数据钻取或...

    推荐6款常用的Java开源报表制作工具.pdf

    * 支持多种文件输出格式 * 可以在 Java 环境下使用 * 广泛应用于商业BI 解决方案 二、Pentaho Pentaho 是一个以工作流为核心的、强调面向解决方案而非工具组件的 BI 套件,整合了多个开源项目,目标是和商业 BI 相...

    JasperServer中文版

    5. `jsexceptions_messages.properties` 和 `jsexceptions_messages_zh_CN.properties`:这些文件包含了JasperServer在遇到异常时显示的错误消息,中文版本有助于调试和解决问题。 为了使用这些中文翻译,你需要先...

Global site tag (gtag.js) - Google Analytics