当前位置: 首页 > 文档资料 > PDFBox 中文文档 >

添加矩形(Adding Rectangles)

优质
小牛编辑
141浏览
2023-12-01

本章将教您如何在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步:设置非抚摸颜色

您可以使用类PDPageContentStreamsetNonStrokingColor()方法将非setNonStrokingColor()颜色设置为矩形。 对于此方法,您需要将所需颜色作为参数传递,如下所示。

contentStream.setNonStrokingColor(Color.<i>DARK_GRAY</i>);

第5步:绘制矩形

使用addRect()方法绘制具有所需尺寸的矩形。 对于此方法,您需要传递要添加的矩形的尺寸,如下所示。

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

第6步:填充矩形

PDPageContentStream类的fill()方法使用所需的颜色填充指定维度之间的路径,如下所示。

contentStream.fill();

第7步:关闭文档

最后使用PDDocument类的close()方法关闭文档,如下所示。

document.close();

例子 (Example)

假设我们在路径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.<i>load</i>(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