本文概述
- 加载现有的PDF文档
- 检索页面
- 准备内容流
- 设定颜色
- 添加矩形
- 填充矩形
- 关闭文件
【PDFBox添加矩形】要在PDF文档中添加矩形, 请执行以下操作:
加载现有的PDF文档 我们可以使用static load()方法加载现有的PDF文档。此方法接受文件对象作为参数。我们也可以使用PDFBox的类名PDDocument调用它。
File file = new File("Path of Document");
PDDocument doc = PDDocument.load(file);
检索页面 在此, 我们必须选择一个要插入矩形的页面。 getPage()方法用于从PDF文档检索页面。此方法需要页码作为我们要检索的页面的参数。可以在以下代码中显示。
PDPage page = doc.getPage(PageIndex);
准备内容流 PDPageContentStream类用于创建用于插入各种数据元素的对象。此类的构造方法包含文档对象和页面对象作为参数。可以在以下代码中显示。
PDPageContentStream contents = new PDPageContentStream(doc, page);
设定颜色 我们可以使用PDPageContentStream类的setNonStrokingColor()方法将颜色设置为矩形。此方法需要传递所需的颜色作为参数。可以在以下代码中显示。
contentStream.setNonStrokingColor(Color.RED);
添加矩形 addRect()方法用于绘制具有所需尺寸的矩形。此方法需要将矩形的尺寸作为参数传递。可以在以下代码中显示。
contentStream.addRect(250, 250, 150, 150);
addRect()方法接受以下参数:
- X-矩形的x坐标
- Y-矩形的y坐标
- 宽度-矩形的宽度。
- 高度-矩形的高度。
contentStream.fill();
关闭文件 完成任务后, 我们需要使用close()方法关闭PDDocument类对象。
doc.close();
例-
这是空白的PDF文档。在本文档中, 我们将使用Java程序的PDFBox库添加矩形。

文章图片
Java程序
import java.io.File;
import java.io.IOException;
import java.awt.Color;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
public class AddingPage { public static void main(String[] args)throws IOException {//Loading an existing document File file = new File("/eclipse-workspace/blank.pdf");
PDDocument doc = PDDocument.load(file);
//Retrieving a page of the PDF DocumentPDPage page = doc.getPage(2);
//Instantiating the PDPageContentStream classPDPageContentStream contentStream = new PDPageContentStream(doc, page);
//Setting the non stroking color contentStream.setNonStrokingColor(Color.RED);
//Drawing a rectangle contentStream.addRect(250, 250, 150, 150);
//Drawing a rectangle contentStream.fill();
System.out.println("Rectangle added successfully in a PDF document.");
//Closing the ContentStream object contentStream.close();
//Saving the documentFile file1 = new File("eclipse-workspace/RectangleShape.pdf");
doc.save(file1);
//Closing the document doc.close();
}}
输出
成功执行后, 上面的程序显示以下输出。

文章图片
现在进行验证, 打开名为Rectangleshape的PDF文档, 如下所示-

文章图片
推荐阅读
- PHP开发(安装PHP详细步骤)
- PDFBox添加页面
- PDFBox添加多行
- 带有进程的SRTF包含CPU和IO时间图解实例
- Android中ViewPager实现滑动条及与Fragment结合的实例教程
- [Android Pro]开发一流Android SDK
- Spring,@Controller,@RequestMapping, @ResponseBody,@RequestParam
- [Android Pro]开发一流的 Android SDK(Fabric SDK 的创建经验)
- Android之动画