一、iText介绍
iText 是一个用于创建和处理 PDF 文档的开源 Java 库。iText 主要用于生成 PDF 文件,可以将文本、图像、表格、列表等内容添加到 PDF 中,同时支持对 PDF 进行编辑、合并、分割、加密、数字签名等操作。
二、iText功能介绍
- PDF 生成与编辑: iText 可以创建新的 PDF 文档,并在其中添加文本、图像、表格、列表等内容,也可以对已有的 PDF 文档进行编辑,包括修改内容、添加水印、设置页面属性等。
- PDF 合并与分割: iText 可以将多个 PDF 文档合并成一个文档,也可以将一个 PDF 文档分割成多个文档。
- PDF 加密与安全: iText 支持对 PDF 文档进行加密和数字签名,保护文档的安全性,防止未经授权的访问和篡改。
- PDF 页面设置: iText 允许设置 PDF 文档的页面大小、方向、边距等属性,以满足不同需求。
- 多种输出格式支持: iText 支持将 PDF 文档输出为多种格式,包括文本、图像、HTML 等。
- 丰富的文档处理功能: iText 提供了丰富的 API,可以处理 PDF 文档中的文本、图像、表格等内容,也支持自定义字体、颜色、样式等。
三、iText的使用
3.1 引入pom依赖
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.0.6</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>1.8.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.3</version>
</dependency>
3.2 测试demo
package org.jianying.emqxstudy.itext;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import java.io.File;
import java.io.IOException;
public class ItextTest {
public static void main(String[] args) throws IOException {
String pfdPath = "D:/pdf/test.pdf";
File file = new File(pfdPath);
String pdfText = "Test using iText to generate PDF documents";
file.createNewFile();
// try-with-resources语法 创建资源, 执行完后会自动关闭
try (
PdfWriter writer = new PdfWriter(pfdPath);
PdfDocument pdfdocument = new PdfDocument(writer);
Document document = new Document(pdfdocument)
) {
Paragraph paragraph = new Paragraph(pdfText);
document.add(paragraph);
} catch (IOException e) {
e.printStackTrace();
}
}
}
官网地址: The Leading PDF Library for Developers | iText
参考链接:http://t.csdnimg.cn/RRmDp 、 Itextpdf 清除空白页/加水印/加页码/拆分 - 简书