iText - 概述

可移植文档格式 (PDF) 是一种文件格式,有助于以独立于应用软件、硬件和操作系统的方式呈现数据。每个 PDF 文件都包含固定布局平面文档的描述,包括文本、字体、图形和显示它所需的其他信息。

有多个库可用于通过程序创建和操作 PDF 文档,例如 −

  • Adobe PDF 库 − 此库提供 C++、.NET 和 Java 等语言的 API。使用它,我们可以编辑、查看、打印和提取 PDF 文档中的文本。

  • 格式化对象处理器 − 由 XSL 格式化对象和独立于输出的格式化程序驱动的开源打印格式化程序。主要输出目标是 PDF。

  • PDF 框 − Apache PDFBox 是一个开源 Java 库,支持 PDF 文档的开发和转换。使用此库,您可以开发创建、转换和操作 PDF 文档的 Java 程序。

  • Jasper Reports − 这是一个 Java 报告工具,可在 PDF 文档中生成报告,包括 Microsoft Excel、RTF、ODT、逗号分隔值和 XML 文件。

什么是 iText?

与上面列出的软件类似,iText 是一个 Java PDF 库,您可以使用它开发创建、转换和操作 PDF 文档的 Java 程序。

iText 的功能

以下是 iText 库的显著特点−

  • 交互式 − iText 为您提供生成交互式 PDF 文档的类 (API)。使用这些,您可以创建地图和书籍。

  • 添加书签、页码等 − 使用 iText,您可以添加书签、页码和水印。

  • 拆分和合并 − 使用 iText,您可以将现有 PDF 拆分为多个 PDF,还可以向其中添加/连接其他页面。

  • 填写表单 − 使用 iText,您可以在 PDF 文档中填写交互式表单。

  • 另存为图像 − 使用 iText,您可以将 PDF 另存为图像文件,例如 PNG 或 JPEG。

  • 画布 − iText 库为您提供了一个 Canvas 类,您可以使用它在 PDF 文档上绘制各种几何形状,如圆形、线条等。

  • 创建 PDF − 使用 iText,您可以从 Java 程序创建一个新的 PDF 文件。您也可以包含图像和字体。

IText 环境

按照下面给出的步骤在 Eclipse 上设置 iText 环境。

步骤 1 − 安装 Eclipse 并在其中打开一个新项目,如下所示。

Eclipse Project

步骤 2 −创建一个 iTextSample 项目,如下所示。

新项目窗口

步骤 3 − 右键单击​​该项目并将其转换为 Maven 项目,如下所示。一旦将其转换为 Maven 项目,它将为您提供一个 pom.xml,您需要在其中提及所需的依赖项。此后,这些依赖项的 jar 文件将自动下载到您的项目中。

Maven 配置

步骤 4 −现在,在项目的 pom.xml 中,复制并粘贴以下内容(iText 应用程序的依赖项)并刷新项目。

使用 pom.xml

将项目转换为 Maven 项目,并将以下内容添加到其 pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">   
   
   <modelVersion>4.0.0</modelVersion>   
   <groupId>SanthoshExample</groupId>   
   <artifactId>SanthoshExample</artifactId>   
   <version>0.0.1-SNAPSHOT</version>   
   <build>     
      <sourceDirectory>src</sourceDirectory>     
      <plugins>       
         <plugin>         
            <artifactId>maven-compiler-plugin</artifactId>         
            <version>3.5.1</version>         
            <configuration>           
               <source>1.8</source>           
               <target>1.8</target>      
            </configuration>       
         </plugin>     
      </plugins>   
   </build>     
   
   <dependencies>     
      <!-- always needed -->     
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>kernel</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>io</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>layout</artifactId>         
         <version>7.0.2</version>
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>forms</artifactId>         
         <version>7.0.2</version>    
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>pdfa</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>sign</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>barcodes</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>font-asian</artifactId>         
         <version>7.0.2</version>     
      </dependency>  
      
      <dependency>         
         <groupId>com.itextpdf</groupId>         
         <artifactId>hyph</artifactId>         
         <version>7.0.2</version>    
      </dependency> 
   </dependencies>
   
</project>

最后,如果您观察 Maven 依赖项,您会发现所有必需的 jar 文件都已下载。

iText 示例应用程序