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

相关推荐
2401_cf1 小时前
为什么hadoop不用Java的序列化?
java·hadoop·eclipse
帮帮志1 小时前
idea整合maven环境配置
java·maven·intellij-idea
LuckyTHP1 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
无声旅者4 小时前
深度解析 IDEA 集成 Continue 插件:提升开发效率的全流程指南
java·ide·ai·intellij-idea·ai编程·continue·openapi
Ryan-Joee5 小时前
Spring Boot三层架构设计模式
java·spring boot
Hygge-star5 小时前
【数据结构】二分查找5.12
java·数据结构·程序人生·算法·学习方法
dkmilk5 小时前
Tomcat发布websocket
java·websocket·tomcat
工一木子5 小时前
【Java项目脚手架系列】第七篇:Spring Boot + Redis项目脚手架
java·spring boot·redis
哞哞不熬夜5 小时前
JavaEE--初识网络
java·网络·java-ee
等等5436 小时前
Java EE初阶——wait 和 notify
java·开发语言