iText - 概述



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

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

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

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

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

  • Jasper Reports - 这是一款 Java 报表工具,可以生成 PDF 文档中的报表,包括 Microsoft Excel、RTF、ODT、逗号分隔值和 XML 文件。

什么是 iText?

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

iText 的特性

以下是 iText 库的显著特性:

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

  • 添加书签、页码等 - 使用 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 项目,如下所示。

New Project Window

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

Maven Configuration

步骤 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 Sample Application
广告

© . All rights reserved.