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

相关推荐
morris1311 分钟前
【SpringBoot】Xss的常见攻击方式与防御手段
java·spring boot·xss·csp
七星静香26 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员27 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU27 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie631 分钟前
在IDEA中使用Git
java·git
Elaine2023911 小时前
06 网络编程基础
java·网络
G丶AEOM1 小时前
分布式——BASE理论
java·分布式·八股
落落鱼20131 小时前
tp接口 入口文件 500 错误原因
java·开发语言
想要打 Acm 的小周同学呀1 小时前
LRU缓存算法
java·算法·缓存
镰刀出海1 小时前
Recyclerview缓存原理
java·开发语言·缓存·recyclerview·android面试