iText - 新增列表



在本章中,我們將學習如何使用 iText 庫建立 PDF 文件並在其中新增列表。

建立列表

您可以透過例項化 **Document** 類來建立一個空的 PDF 文件。在例項化此類時,您需要將 **PdfDocument** 物件作為引數傳遞給其建構函式。然後,要向文件新增列表,您需要例項化 **List** 類並將此物件使用 **add()** 方法新增到文件中。

以下是建立 PDF 文件並在其中新增列表的步驟。

步驟 1:建立 PdfWriter 物件

**PdfWriter** 類表示 PDF 的 DocWriter。此類屬於 **com.itextpdf.kernel.pdf** 包。此類的建構函式接受一個字串,表示要建立 PDF 檔案的路徑。

透過將字串值(表示您需要建立 PDF 的路徑)傳遞給其建構函式來例項化 PdfWriter 類,如下所示。

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingList.pdf"; 
PdfWriter writer = new PdfWriter(dest); 

當此型別的物件傳遞給 PdfDocument(類)時,新增到此文件的每個元素都將寫入指定的檔案。

步驟 2:建立 PdfDocument 物件

**PdfDocument** 類是表示 iText 中 PDF 文件的類,此類屬於 **com.itextpdf.kernel.pdf** 包。要例項化此類(在寫入模式下),您需要將 **PdfWriter** 類的物件傳遞給其建構函式。

透過將上面建立的 PdfWriter 物件傳遞給其建構函式來例項化 PdfDocument 類,如下所示。

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer); 

建立 PdfDocument 物件後,您可以使用其類提供的相應方法新增各種元素,例如頁面、字型、檔案附件和事件處理程式。

步驟 3:建立 Document 物件

**com.itextpdf.layout** 包的 **Document** 類是在建立自包含 PDF 時使用的根元素。此類的建構函式之一接受 **PdfDocument** 類的物件。

透過將上一步驟中建立的 **PdfDocument** 類物件傳遞給建構函式來例項化 **Document** 類,如下所示。

// Creating a Document   
Document document = new Document(pdfDoc); 

步驟 4:建立 List 物件

**List** 類表示一系列垂直排列的物件。它屬於 **com.itextpdf.layout.element** 包。

如以下所示例項化 **List** 類。

// Creating a list  
List list = new List();

步驟 5:向列表新增元素

透過將字串值傳遞給 **List** 類的 **add()** 方法,向 **list** 物件新增內容,如下所示。

//  Add elements to the list 
list.add("Java"); 
list.add("JavaFX"); 
list.add("Apache Tika"); 
list.add("OpenCV");  

步驟 6:將列表新增到文件

使用 **Document** 類的 **add()** 方法新增上一步中建立的 **list** 物件,如下所示。

// Adding list to the document 
document.add(list);

步驟 7:關閉文件

使用 **Document** 類的 **close()** 方法關閉文件,如下所示。

// Closing the document 
document.close();

示例

以下 Java 程式演示瞭如何使用 iText 庫建立 PDF 文件並在其中新增列表。它建立一個名為 **addingList.pdf** 的 PDF 文件,向其中新增一個列表,並將其儲存到 **C:/itextExamples/** 路徑。

將此程式碼儲存在名為 **AddingList.java** 的檔案中。

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.Paragraph;  

public class AddingList {      
   public static void main(String args[]) throws Exception {               
      // Creating a PdfWriter
      String dest = "C:/itextExamples/addngList.pdf";       
      PdfWriter writer = new PdfWriter(dest);              
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);              
   
      // Creating a Document        
      Document document = new Document(pdf);              
   
      // Creating a Paragraph       
      Paragraph paragraph = new Paragraph("Tutorials Point provides the following tutorials");
      
      // Creating a list
      List list = new List();  
      
      // Add elements to the list       
      list.add("Java");       
      list.add("JavaFX");      
      list.add("Apache Tika");       
      list.add("OpenCV");       
      list.add("WebGL");       
      list.add("Coffee Script");       
      list.add("Java RMI");       
      list.add("Apache Pig");              
      
      // Adding paragraph to the document       
      document.add(paragraph);                    
     
      // Adding list to the document       
      document.add(list);
      
      // Closing the document       
      document.close();              
      System.out.println("List added");    
   } 
} 

使用以下命令從命令提示符編譯並執行儲存的 Java 檔案:

javac AddingList.java 
java AddingList

執行後,上述程式將建立一個 PDF 文件,顯示以下訊息。

List added

如果驗證指定的路徑,您可以找到建立的 PDF 文件,如下所示。

Adding List
廣告

© . All rights reserved.