Maven site 站点生成pdf的中文支持解决方案

第一步:调整配置文件

配置文件说明:

conf.xml为配置字体文件与对应路径的文件, simsun.ttc为宋体字体集文件, simsun.xml为宋体的描述文件
pdf.xml为定义生成的pdf的内容与主要元数据的配置, 如果没有该文件则将整站生成,可以省略该配置文件
pdf-config.xml 为改变默认 fop的pdf文件内容与字体定义的样式文件,需要将其中的字体安装需要修改为宋体以及其他支持中文的字体
其配置文件的存放目录结构如下:
smp-site
 |-pom.xml
 |-conf.xml
 |-simsun.xml
 |-simsun.ttc
 |-src
     |-site
          |-pdf.xml
          |-site.xml
          |-resources
                |-pdf-config.xml
                |-images
 
第二步:替换代码
将hacked.rar中对应的代码替换掉 maven库中的
org\apache\maven\doxia\doxia-module-fo\1.3\doxia-module-fo-1.3.jar   中的对应类,即FoUtils, 其目的
     修改doxia-moudle-fo-1.3.jar中的  org.apache.maven.doxia.module.fo.FoUtils 中的
private   static   FOUserAgent getDefaultUserAgent(File fo, String resourceDir)
    {
        FOUserAgent foUserAgent =  FOP_FACTORY  .newFOUserAgent();
        foUserAgent.setBaseURL( getBaseURL(fo, resourceDir));
         return  foUserAgent;
    }
 
 
private   static  FOUserAgent getDefaultUserAgent(File fo, String resourceDir)
    {
         String conf=System.getProperty("fop.conf");  // 通过 -Dfop.conf 来获取当前指定的配置文件
        if(conf != null)
               FOP_FACTORY.setUserConfig(new java.io.File(conf));
        FOUserAgent foUserAgent =  FOP_FACTORY  .newFOUserAgent();
        foUserAgent.setBaseURL( getBaseURL(fo, resourceDir));
         return  foUserAgent;
    }
 
  并且需要该doxia-moudle-fo-1.3.pom,增加对fop本身及其相关依赖包的 依赖定义(因为其通过自定义的配置文件来设置fop则需要对文件进行解析与处理,所以会依赖fop及其相关依赖包)
 
 
最后一步:
生成文档的命令通过
     mvn  clean site  -Dfop.conf="conf.xml" pdf:pdf  进行执行
 
 
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值