PDFBox添加矩形

/ / PDFBox添加矩形

本章教您如何在PDF文档的页面中创建颜色框。

PDF创建框

您可以使用 PDPageContentStream 类的 addRect()方法在PDF页面中添加矩形框。

以下是在PDF文档页面中创建矩形形状的步骤。

步骤1- 加载现有文档

使用 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()方法将非描边颜色设置为矩形。对于此方法,您需要将所需的颜色作为参数传递。

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 {

      //加载现有文档
      File file = new File("C:/PdfBox_Examples/BlankPage.pdf");
      PDDocument document = PDDocument.load(file);
        
      //检索PDF文件的页面
      PDPage page = document.getPage(0);

      //实例化PDPAGEContentStream类
      PDPageContentStream contentStream = new PDPageContentStream(document, page);
       
      //设置NonStroking颜色
      contentStream.setNonStrokingColor(Color.DARK_GRAY);

      //绘制一个矩形
      contentStream.addRect(200, 650, 100, 100);

      //绘制一个矩形
      contentStream.fill();

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

      //关闭contentStream对象
      contentStream.close();

      //保存文档
      File file1 = new File("C:/PdfBox_Examples/colorbox.pdf");
      document.save(file1);

      //关闭文件
      document.close();
   }
}

使用以下命令从命令提示符处编译并执行保存的Java文件。

javac AddRectangles.java 
java AddRectangles

执行后,上述程序在PDF文档中创建一个矩形,显示以下图像。

Rectangle created

如果您验证给定的路径并打开保存的文档- colorbox.pdf ,则可以看到其中已插入一个框,如下所示。

无涯教程网

Coloredbox

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

智能原生架构实战 -〔灵犀〕

Web 3.0入局攻略 -〔郭大治〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

手把手带你写一个Web框架 -〔叶剑峰〕

成为AI产品经理 -〔刘海丰〕

Serverless入门课 -〔蒲松洋(秦粤)〕

从0开始做增长 -〔刘津〕

代码精进之路 -〔范学雷〕

技术领导力实战笔记 -〔TGO鲲鹏会〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者