第一步:调整配置文件
配置文件说明:
conf.xml为配置字体文件与对应路径的文件, simsun.ttc为宋体字体集文件, simsun.xml为宋体的描述文件 pdf.xml为定义生成的pdf的内容与主要元数据的配置, 如果没有该文件则将整站生成,可以省略该配置文件 pdf-config.xml 为改变默认 fop的pdf文件内容与字体定义的样式文件,需要将其中的字体安装需要修改为宋体以及其他支持中文的字体 其配置文件的存放目录结构如下:class="java" name="code">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 ?进行执行 ? ? ?
?