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

相关推荐
paopaokaka_luck1 分钟前
[371]基于springboot的高校实习管理系统
java·spring boot·后端
以后不吃煲仔饭14 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师14 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
The_Ticker20 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
大数据编程之光42 分钟前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
爪哇学长1 小时前
双指针算法详解:原理、应用场景及代码示例
java·数据结构·算法
ExiFengs1 小时前
实际项目Java1.8流处理, Optional常见用法
java·开发语言·spring
paj1234567891 小时前
JDK1.8新增特性
java·开发语言
繁依Fanyi1 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
慧都小妮子1 小时前
Spire.PDF for .NET【页面设置】演示:打开 PDF 时自动显示书签或缩略图
java·pdf·.net