iText - 添加区域分隔符



在本章中,我们将了解如何使用 iText 库创建包含区域分隔符的 PDF 文档。

创建区域分隔符

您可以通过实例化 **Document** 类来创建一个空的 PDF 文档。在实例化此类时,需要将 **PdfDocument** 对象作为参数传递给其构造函数。然后,要向文档添加区域分隔符,需要实例化 **AreaBreak** 类,并使用 **add()** 方法将此对象添加到文档中。

以下是创建包含区域分隔符的空 PDF 文档的步骤。

步骤 1:创建 PdfWriter 对象

**PdfWriter** 类表示 PDF 的文档编写器,此类属于 **com.itextpdf.kernel.pdf** 包。此类的构造函数接受一个字符串,表示要创建 PDF 文件的路径。

通过将表示您需要在其中创建 PDF 的路径的字符串值传递给其构造函数,实例化 PdfWriter 类,如下所示。

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingAreaBreak.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:创建 Area Break 对象

**AreaBreak** 类属于 **com.itextpdf.layout.element** 包。在实例化此类时,当前上下文区域将被终止,并将创建一个具有相同大小的新区域(如果我们使用默认构造函数)。

实例化 **AreaBreak** 类,如下所示。

// Creating an Area Break    
AreaBreak aB = new AreaBreak(); 

步骤 5:添加 AreaBreak

使用 **Document** 类的 **add()** 方法添加前面步骤中创建的 **areabreak** 对象,如下所示。

// Adding area break to the PDF 
document.add(aB); 

步骤 6:关闭文档

使用 **Document** 类的 **close()** 方法关闭文档,如下所示。

// Closing the document 
document.close(); 

示例

以下 Java 程序演示了如何使用 iText 库创建包含区域分隔符的 PDF 文档。它创建一个名为 **addingAreaBreak.pdf** 的 PDF 文档,向其中添加一个 **areabreak**,并将其保存在 **C:/itextExamples/** 路径中。

将此代码保存在名为 **AddingAreaBreak.java** 的文件中。

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.AreaBreak;  

public class AddingAreaBreak {    
   public static void main(String args[]) throws Exception {       
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/addingAreaBreak.pdf";       
      PdfWriter writer = new PdfWriter(dest);
   
      // Creating a PdfDocument       
      PdfDocument pdf = new PdfDocument(writer);             
   
      // Creating a Document by passing PdfDocument object to its constructor       
      Document document = new Document(pdf);  
   
      // Creating an Area Break          
      AreaBreak aB = new AreaBreak();           
   
      // Adding area break to the PDF       
      document.add(aB);              
   
      // Closing the document       
      document.close();           
      System.out.println("Pdf created");       
   } 
}  

使用以下命令从命令提示符编译并执行保存的 Java 文件:

javac AddingAreaBreak.java 
java AddingAreaBreak 

执行后,上述程序将创建一个 PDF 文档,显示以下消息。

Pdf Created 

如果验证指定的路径,则可以找到创建的 PDF 文档,如下所示。

Adding AreaBreak
广告