第一步:调整配置文件
配置文件说明:
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 进行执行
相关推荐
Maven 使用入门.pdf
Maven实战.pdf 不可多得的权威maven中文书籍
使用Swagger2Markup、asciidoctor-maven-plugin和asciidoctorj-pdf插件能生成pdf格式的文档,但是对于中文支持太差了,很多中文字符是空白。这个jar包可以解决这个问题。 在pom.xml中加入 <groupId>org....
Maven权威指南中文版(完整).pdf
SpringBoot-maven调用gut生成文件,支持上传到ftp、本地。
Maven实战(基于Maven3).pdf(340页)
Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大量相互依赖的模块和类库,并且使用了 数千第三方组件的项目来说,Maven已经证明了它是一...
Maven项目,JAVA生成PDF,支持中文。
maven-site-plugin-3.3.jar
Mybatis-Generator自动生成Dao、Model、Mapping相关文件,不依赖maven,直接生成
Maven笔记.pdf
NULL 博文链接:https://zlzou520.iteye.com/blog/1039509
maven_tutorial
一个简单的用java生成pdf文档的小例子,经过本人测试可以使用,里用的包都是最新的,iTextAsian.jar这个包也已经重新修改打包过了!
Maven3实战笔记,介绍maven构建项目的步骤以及相关内容
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache ...
Idea 导入Maven项目,在加载pom.xml文件内容时,弹窗提示错误信息 Unable to import maven project的解决方案。文档是包含在操作时遇到的问题以及问题的解决方案,搭配图片,图文并茂,方便读者准确定位到问题以及更...
maven