📜  讨论iText(1)

📅  最后修改于: 2023-12-03 15:41:42.449000             🧑  作者: Mango

iText介绍

什么是iText

iText是一个开源的Java PDF库,用于创建,填充,处理和读取PDF文档。它的版权申明是“Free Software Award Europe: Best Java project”。iText被广泛应用于B2B文档交换、数字签名等领域。

iText支持的功能

iText支持的功能非常丰富,包括但不限于:

  • PDF文档创建与编辑
  • PDF表单填充
  • PDF页眉、页脚、水印添加
  • PDF文本、图像、表格、列表等元素添加
  • PDF加密与解密
  • PDF签名与验证
iText版本

iText目前有两个版本:iText 5和iText 7。

iText 5是目前使用最广泛的版本,已经到了5.5.13版本,且停止了维护。iText 5 支持的PDF版本是1.7,目前在很多项目中仍然得到广泛的应用。

iText 7是最新版本,支持PDF 2.0标准,提供更多新特性、改进性能、改进易用性。相比之前的版本,它使用更加现代化的设计模式,并提供了更好的可扩展性和易用性。

iText使用

iText的使用非常简单。首先需要下载iText的jar包,然后将其加入到项目的依赖中。

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13.2</version>
</dependency>

在使用iText 5时,我们可以通过PdfWriter类创建pdf文档,具体操作如下:

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("sample.pdf"));
document.open();
document.add(new Paragraph("Hello World!"));
document.close();

在使用iText 7时,我们可以通过PdfDocument类创建pdf文档,并使用Document类进行操作,具体操作如下:

PdfDocument pdf = new PdfDocument(new PdfWriter("sample.pdf"));
Document document = new Document(pdf);
document.add(new Paragraph("Hello World!"));
document.close();
iText扩展

iText提供了非常丰富的扩展功能,可以通过添加额外的模块,来使用更多的功能。

例如,iText PDF/A模块可以让我们创建符合ISO标准的PDF/A文件的程序,iText HTML2PDF模块可以让我们将HTML转换为PDF文件,iText Barcode模块可以让我们在PDF文件中添加条形码等等。

我们可以通过以下方式将iText的扩展加入到项目的依赖中。

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-pdfa</artifactId>
    <version>5.5.13.2</version>
</dependency>
总结

iText是一款非常强大、丰富的PDF库,支持的功能非常广泛。虽然它的API并不是非常友好,但是只要我们熟悉了它的用法,就可以快速地完成PDF文档的创建、编辑、签名等操作。