Maven PDF 插件允许您生成文档的 PDF 文档。
无需任何额外配置即可从命令行调用 PDF 插件执行。与其他插件一样,要运行 PDF 插件,您可以使用:
mvn pdf:pdf
其中第一个pdf指的是插件的别名,第二个pdf指的是插件目标。
默认情况下,pdf 将在target/pdf/目录中生成。
备注:
PDF 插件可以放入项目的 pom.xml 中,以便在每次构建项目时执行。以下是每次构建项目时在站点阶段运行 PDF 插件的示例配置(放入pom.xml的<build>部分中的<plugins>列表):
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> <executions> <execution> <id>pdf</id> <phase>site</phase> <goals> <goal>pdf</goal> </goals> <configuration> <outputDirectory>${project.reporting.outputDirectory}</outputDirectory> <includeReports>false</includeReports> </configuration> </execution> </executions> </plugin>
注意:在这种情况下,pdf 插件与 Maven Site 插件相结合,以将站点文档和 pdf 生成到默认输出站点目录中,即target/site。你只需要调用mvn site。
默认情况下,pdf 插件处理站点插件的site.xml中指定的所有源文件。您可以使用文档描述符(默认为src/site/pdf.xml)自定义要包含的文件的顺序。下面给出一个例子:
<document xmlns="http://maven.apache.org/DOCUMENT/1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DOCUMENT/1.0.1 http://maven.apache.org/xsd/document-1.0.1.xsd" outputName="maven-pdf-plugin"> <meta> <title>Maven PDF Plugin</title> <author>The Apache Maven Project</author> </meta> <toc name="Table of Contents"> <item name="Introduction" ref="index.apt"/> <item name="Usage" ref="usage.apt.vm"/> <item name="Filtering Document Descriptor" ref="examples/filtering.apt"/> <item name="Configuring Reports" ref="/examples/configuring-reports.xml.vm"/> <item name="Limitations" ref="limitations.apt"/> <item name="FAQ" ref="faq.fml"/> </toc> <cover> <coverTitle>${project.name}</coverTitle> <coverSubTitle>v. ${project.version}</coverSubTitle> <coverType>User Guide</coverType> <projectName>${project.name}</projectName> <projectLogo>http://maven.apache.org/images/maventxt_logo_200.gif</projectLogo> <companyName>The Apache Software Foundation</companyName> <companyLogo>http://www.apache.org/images/asf_logo_wide.png</companyLogo> </cover> </document>
如果没有给出封面元素,元信息仅用于 pdf 封面。toc生成目录并指定要包含在 pdf 中的文件的顺序。有关文件格式的完整描述,请参阅文档模型参考。
备注:
PDF 插件能够生成国际化的 pdf,类似于网站创建。
要启用多个语言环境,请将类似于以下内容的配置添加到您的 POM:
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> <version>1.5.1</version> <configuration> <locales>en,fr</locales> </configuration> </plugin> </plugins> </build> ... </project>
这将生成两份 pdf,一份英文和一份法文。与站点插件一样,如果en是您当前的语言环境,那么它将在站点的根目录中生成,并在fr/子目录中提供该站点的法语翻译副本。
以下是站点和 pdf 插件的完整国际化目录布局:
+- src/ +- site/ +- apt/ | +- index.apt (Default version) | +- fr/ | +- apt/ | +- index.apt (French version) | +- site.xml (Default site descriptor) +- site_fr.xml (French site descriptor) +- pdf.xml (Default pdf descriptor) +- pdf_fr.xml (French pdf descriptor)
用于使用 FOP 实现的 pdf 转换的所有布局属性都是从默认配置文件中读取的。可以使用位于src/site/resources/的自定义配置文件pdf-config.xml覆盖此文件中的属性。
此文件的格式必须与原始默认配置文件完全相同。但是,您只需要指定要覆盖的属性,例如更改预格式化文本的字体大小,您可以使用:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:attribute-set name="body.pre" use-attribute-sets="base.pre.style"> <xsl:attribute name="font-size">8pt</xsl:attribute> </xsl:attribute-set> </xsl:stylesheet>