`
tangxiucai2
  • 浏览: 4076 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

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
4
分享到:
评论

相关推荐

    maven pdf

    通过配置 `maven-site-plugin` 和 `maven-project-info-reports-plugin`,可以在 Maven 站点中生成 PDF。 ```xml <groupId>org.apache.maven.plugins <artifactId>maven-site-plugin <version>3.9.1 ...

    Maven3实战笔记14Maven生成项目站点

    1. **站点生命周期**:在 Maven 中,生成项目站点属于 `site` 生命周期的一部分。这个生命周期包含了几个主要阶段,如 `pre-site`、`site` 和 `post-site`,用于准备、生成和部署站点。通过执行 `mvn site` 命令,...

    Maven 实战(中文pdf)

    此外,书中的内容还会涵盖Maven的依赖管理和解决冲突的方法,如使用 exclusion 标签排除不想要的依赖,以及使用scope属性控制依赖的范围。读者还将了解到Maven仓库的概念,包括本地仓库、远程仓库和中央仓库,以及...

    Maven权威指南中文版(完整).pdf

    Maven权威指南中文版 Maven是一种基于项目对象模型(POM)的项目管理和构建工具,旨在提供一种通用的、跨语言的、跨平台的项目管理方式。 Maven的主要特点是约定优于配置(Convention Over Configuration),它提供...

    PDF文档 Maven权威指南_中文完整版清晰

    除了基本功能,本指南还将涉及Maven的高级特性,如聚合项目、多模块项目、源码生成、报告生成、站点发布等。这些特性使得Maven在大型复杂项目中的应用更加得心应手。 另外,指南还会涵盖Maven的持续集成实践,如与...

    asciidoctorj-pdf支持中文生成

    使用Swagger2Markup、asciidoctor-maven-plugin和asciidoctorj-pdf插件能生成pdf格式的文档,但是对于中文支持太差了,很多中文字符是空白。这个jar包可以解决这个问题。 在pom.xml中加入 <groupId>org....

    Java生成PDF完整示例,解决中文乱码

    本文将详细讲解如何使用Java生成包含中文字符的PDF文档,并解决中文乱码问题,主要涉及的库是iText库及其针对亚洲语言的支持包。 首先,iText是一个开源的Java库,用于创建和修改PDF文档。在这里我们使用的是iText ...

    Maven 使用入门.pdf

    - Maven 能够自动生成各种工程文档,包括构建报告、测试报告等。 - 这些文档有助于团队成员更好地理解和维护项目。 4. **支持最佳的开发实践**: - Maven 设计时充分考虑了软件工程的最佳实践,如依赖管理、生命...

    Maven: Unable to import maven project解决方案.pdf

    本文将详细解释这个问题的原因,并提供解决方案。 首先,我们要理解这个错误提示的根本原因。当Idea在尝试导入Maven项目时,它会读取`pom.xml`文件来构建项目的依赖树。如果在执行此过程时,IDE找不到合适的Java...

    maven-site-plugin-3.3.jar

    maven-site-plugin-3.3.jar

    Maven权威指南中文版.pdf

    Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大量相互依赖的模块和类库,并且使用了 数千第三方组件的项目来说,Maven已经证明了它是一...

    Maven Book (ZH)_ Maven权威指南.pdf

    - **站点生成和报告**: 自动生成项目的文档和报告。 **4.1 定制项目** - **定义项目**: 明确项目的业务需求和技术选型。 - **添加依赖**: 在POM文件中声明外部库。 - **编写单元测试**: 使用JUnit等框架编写测试...

    Maven入门学习.pdf

    总的来说,Maven作为Java项目管理的一个重要工具,它提供了全面的解决方案,包括项目构建、依赖管理和项目信息管理。它的强大功能和易用性使其成为Java开发者不可或缺的伙伴,尤其是在处理大型或复杂的项目时。通过...

    Maven教程.pdf

    除了基本的构建和依赖管理,Maven 还提供了用于创建项目骨架的 Archetype 插件、用于代码质量检查的 PMD 和 Checkstyle 插件、用于文档生成的 Maven Site 插件等众多功能强大的插件。通过这些插件,Maven 能够支持从...

    maven 代码生成(maven插件)

    在本场景中,我们关注的是"Maven代码生成"插件,特别是"MyBatis Generator"。 MyBatis Generator(MBG)是一个强大的工具,用于自动生成MyBatis的SQL映射文件,DAO接口和实现,以及实体类。通过这个插件,开发者...

Global site tag (gtag.js) - Google Analytics