PDF操作
一、概述
生成PDF文档通常涉及使用模板引擎、PDF库以及数据填充。常见以下几种方法:
iText:
iText是一个强大的PDF库,支持创建和操作PDF文档。
使用场景: 您可以使用iText来直接构建PDF文档,也可以将其与模板引擎结合使用,通过数据填充来生成PDF。
Apache PDFBox:
PDFBox是Apache软件基金会的一个项目,提供创建和处理PDF文档的功能。
使用场景: PDFBox可用于构建PDF文档,您可以将其用于模板生成PDF。
Apache FOP (Formatting Objects Processor):
FOP是Apache XML Graphics项目的一部分,用于将XML文档转换为PDF、PS、PNG等格式。
使用场景: FOP通常与XSL-FO(可扩展样式语言 - 格式化对象)一起使用,通过XSL-FO模板生成PDF。
Thymeleaf:
Thymeleaf是一个用于Web和独立环境的现代服务器端Java模板引擎。
使用场景: Thymeleaf可以用于生成HTML模板,然后通过转换库(如Flying Saucer)将HTML转换为PDF。
Freemarker和Velocity:
Freemarker和Velocity是两个常见的模板引擎,可以用于生成文本模板。
使用场景: 您可以使用这些引擎生成包含占位符的文本模板,然后使用PDF库将其转换为PDF。
JasperReports:
简介: JasperReports是一个用于生成报表的开源报表引擎。
使用场景: JasperReports支持定义报表模板,将数据与模板结合生成PDF报表。
Flying Saucer(XHTMLRenderer):
Flying Saucer是一个基于Java的渲染引擎,可将XHTML和CSS转换为PDF。
使用场景: 您可以使用Flying Saucer来渲染HTML模板,并将其转换为PDF。
二、使用
1、word 转 PDF ,使用aspose工具包
jar包:
<!--word转PDF mvn install:install-file -DgroupId=com.aspose -DartifactId=aspose.slides -Dversion=15.9.0 -Dpackaging=jar -Dfile=e:/test/jar/aspose.slides-15.9.0.jar mvn install:install-file -DgroupId=com.aspose -DartifactId=aspose-cells -Dversion=8.5.2 -Dpackaging=jar -Dfile=e:/test/jar/aspose-cells-8.5.2.jar mvn install:install-file -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=18.6 -Dpackaging=jar -Dfile=e:/test/jar/aspose-words-18.6-jdk16.jar --> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose.slides</artifactId> <version>15.9.0</version> <!-- <type>jar</type> <scope>system</scope> <systemPath>${project.basedir}/src/main/lib/aspose.slides-15.9.0.jar</systemPath>--> </dependency> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-cells</artifactId> <version>8.5.2</version> <!-- <type>jar</type> <scope>system</scope> <systemPath>${project.basedir}/src/main/lib/aspose-cells-8.5.2.jar</systemPath>--> </dependency> <dependency> <groupId>com.aspose</groupId> <artifactId>aspose-words</artifactId> <version>18.6</version> <!-- <type>jar</type> <scope>system</scope> <systemPath>${project.basedir}/src/main/lib/aspose-words-18.6-jdk16.jar</systemPath>--> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency>
linux服务器部署中文解决: