PDFBox - 新增矩形



本章將教你如何在 PDF 文件頁面中建立彩色方框。

在 PDF 文件中建立方框

您可以使用PDPageContentStream類的addRect()方法在 PDF 頁面中新增矩形方框。

以下是建立 PDF 文件頁面中矩形形狀的步驟:

步驟 1:載入現有 PDF 文件

使用PDDocument類的靜態方法load()載入現有 PDF 文件。此方法接受檔案物件作為引數,由於這是一個靜態方法,您可以使用類名呼叫它,如下所示。

File file = new File("path of the document") 
PDDocument document = PDDocument.load(file);

步驟 2:獲取頁面物件

您需要使用PDDocument類的getPage()方法檢索要新增矩形的所需頁面的PDPage物件。此方法需要您傳遞要新增矩形的頁面的索引。

PDPage page = document.getPage(0);

步驟 3:準備內容流

您可以使用名為PDPageContentStream類的物件插入各種資料元素。您需要將文件物件和頁面物件傳遞給此類的建構函式,因此,請透過前面步驟中建立的這兩個物件例項化此類,如下所示。

PDPageContentStream contentStream = new PDPageContentStream(document, page);

步驟 4:設定非描邊顏色

您可以使用PDPageContentStream類的setNonStrokingColor()方法將非描邊顏色設定為矩形。此方法需要您傳遞所需顏色作為引數,如下所示。

contentStream.setNonStrokingColor(Color.DARK_GRAY);

步驟 5:繪製矩形

使用addRect()方法繪製具有所需尺寸的矩形。此方法需要您傳遞要新增的矩形的尺寸,如下所示。

contentStream.addRect(200, 650, 100, 100);

步驟 6:填充矩形

PDPageContentStream類的fill()方法使用所需顏色填充指定尺寸之間的路徑,如下所示。

contentStream.fill();

步驟 7:關閉文件

最後,使用PDDocument類的close()方法關閉文件,如下所示。

document.close();

示例

假設我們在路徑C:\PdfBox_Examples\中有一個名為blankpage.pdf的 PDF 文件,它包含一個空白頁面,如下所示。

Blankpage

此示例演示如何在 PDF 文件中建立/插入矩形。在這裡,我們將在空白 PDF 中建立一個方框。將此程式碼儲存為AddRectangles.java

import java.awt.Color;
import java.io.File;
  
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
public class ShowColorBoxes {

   public static void main(String args[]) throws Exception {

      //Loading an existing document
      File file = new File("C:/PdfBox_Examples/BlankPage.pdf");
      PDDocument document = PDDocument.load(file);
        
      //Retrieving a page of the PDF Document
      PDPage page = document.getPage(0);

      //Instantiating the PDPageContentStream class
      PDPageContentStream contentStream = new PDPageContentStream(document, page);
       
      //Setting the non stroking color
      contentStream.setNonStrokingColor(Color.DARK_GRAY);

      //Drawing a rectangle 
      contentStream.addRect(200, 650, 100, 100);

      //Drawing a rectangle
      contentStream.fill();

      System.out.println("rectangle added");

      //Closing the ContentStream object
      contentStream.close();

      //Saving the document
      File file1 = new File("C:/PdfBox_Examples/colorbox.pdf");
      document.save(file1);

      //Closing the document
      document.close();
   }
}

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

javac AddRectangles.java 
java AddRectangles

執行後,上述程式會在 PDF 文件中建立一個矩形,顯示如下影像。

Rectangle created

如果您驗證給定的路徑並開啟儲存的文件 - colorbox.pdf,您可以看到其中插入了一個方框,如下所示。

Coloredbox
廣告
© . All rights reserved.