iText - 繪製圓形



在本章中,我們將瞭解如何使用 iText 庫在 PDF 文件上繪製圓形。

在 Pdf 上繪製圓形

您可以透過例項化 **Document** 類來建立一個空的 PDF 文件。在例項化此類時,您需要將 **PdfDocument** 物件作為引數傳遞給其建構函式。

要在 PdfDocument 上繪製圓形,請例項化包 **com.itextpdf.kernel.pdf** 中的 **PdfCanvas** 類,並呼叫此類的 **circle()** 方法。

以下是如何在 PDF 文件上繪製圓形的步驟。

步驟 1:建立 PdfWriter 物件

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

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

// Creating a PdfWriter 
String dest = "C:/itextExamples/drawingCircle.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:建立 PdfCanvas 物件

使用 **PdfDocument** 類的 **addNewPage()** 方法建立一個新的 **PdfPage** 類。透過將 **PdfPage** 物件傳遞給此類的建構函式來例項化包 **com.itextpdf.kernel.pdf.canvas** 中的 **PdfCanvas** 物件,如下所示。

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage); 

步驟 5 設定顏色

使用 **Canvas** 類的 **setColor()** 方法設定圓形的顏色,如下所示。

// Setting color to the circle 
Color color = Color.GREEN; 
canvas.setColor(color, true); 

步驟 6:繪製圓形

透過呼叫 **Canvas** 的 **circle()** 方法繪製圓形,如下所示。

// creating a circle 
canvas.circle(300, 400, 200); 

步驟 7:關閉文件

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

// Closing the document 
document.close(); 

示例

以下 Java 程式演示瞭如何使用 iText 庫在 pdf 文件上繪製圓形。它建立一個名為 **drawingCircle.pdf** 的 PDF 文件,並在其中繪製一個圓形,並將其儲存在路徑 **C:/itextExamples/** 中。

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

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingCircle {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/drawingCircle.pdf";           
      PdfWriter writer = new PdfWriter(dest);            
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);

      // Creating a Document object
      Document doc = new Document(pdfDoc);
      
      // Creating a new page
      PdfPage pdfPage = pdfDoc.addNewPage();
      
      // Creating a PdfCanvas object
      PdfCanvas canvas = new PdfCanvas(pdfPage);  
      
      // Setting color to the circle
      Color color = Color.GREEN;       
      canvas.setColor(color, true);              
      
      // creating a circle
      canvas.circle(300, 400, 200);
      
      // Filling the circle       
      canvas.fill();             
      
      // Closing the document 
      doc.close();  
      
      System.out.println("Object drawn on pdf successfully");
   }     
} 

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

javac DrawingCircle.java 
java DrawingCircle

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

Object drawn on pdf successfully 

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

Drawing Circle
廣告

© . All rights reserved.