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.