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

相关推荐
TDengine (老段)26 分钟前
TDengine 免费版说明
java·大数据·数据库·物联网·时序数据库·tdengine
码上有光30 分钟前
异常和智能指针
java·大数据·c++·servlet·异常·智能指针
学计算机的计算基1 小时前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
tachibana21 小时前
hot100 前 K 个高频元素(347)
java·数据结构·算法·leetcode
万亿少女的梦1682 小时前
基于Spring Boot、Java与MySQL的网络订餐系统设计与实现
java·spring boot·mysql·系统设计·网络订餐
咩咩啃树皮10 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚11 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
大模型码小白12 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司13 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地14 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码