Java使用iText生成pdf文档

一、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/RRmDpItextpdf 清除空白页/加水印/加页码/拆分 - 简书

相关推荐
悠哉清闲2 分钟前
C++ 指针与引用
java·c++·算法
没有羊的王K34 分钟前
SSM框架学习DI入门——day2
java·spring boot·学习
公子绝35 分钟前
JAVA学习笔记 使用notepad++开发JAVA-003
java·学习·notepad++·java开发环境
似璟如你43 分钟前
Java开发八股文之基础篇+spring+集合
java·开发语言·面试
本杰明1521 小时前
2025/7/14——java学习总结
java·开发语言·学习
星释1 小时前
优雅的Java:01.数据更新如何更优雅
java·开发语言·spring boot
LeonYangRyeon1 小时前
解锁SQL“密码”:SELECT DISTINCT END AS的深度剖析与实战指南
java·开发语言
7 971 小时前
C语言基础知识--文件的顺序读写与随机读写
java·数据结构·算法
梁同学与Android3 小时前
Android ---【内存优化】常见的内存泄露以及解决方案
android·java·内存泄漏
武子康4 小时前
Java-71 深入浅出 RPC Dubbo 上手 父工程配置编写 附详细POM与代码
java·分布式·程序人生·spring·微服务·rpc·dubbo