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 文件,它包含一個空白頁面,如下所示。
此示例演示如何在 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,您可以看到其中插入了一個方框,如下所示。