You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从PDFBox 2升级至3后添加PDF注释报错,求教新实现方法

PDFBox 3.x 添加自由文本注释的替代方法

在PDFBox 3.x版本中,自由文本注释(FreeText)的实现逻辑有明确调整:

  • 原2.x版本里通过PDAnnotationTextMarkup结合SUB_TYPE_FREETEXT常量创建自由文本注释的方式已被废弃
  • 现在需直接使用独立的PDAnnotationFreeText类来创建自由文本注释

替代代码示例

// 创建自由文本注释实例
PDAnnotationFreeText freeTextAnnot = new PDAnnotationFreeText();
// 设置注释核心属性(示例配置)
freeTextAnnot.setContents("这是自由文本注释内容");
freeTextAnnot.setRectangle(new PDRectangle(100, 700, 200, 50)); // 定义注释的位置与尺寸
freeTextAnnot.setColor(new PDColor(new float[]{1, 0, 0}, PDDeviceRGB.INSTANCE)); // 设置文本颜色
// 将注释添加到目标页面
PDPage page = document.getPage(0); // 示例:获取文档第一页
page.getAnnotations().add(freeTextAnnot);

关键变化说明

  • PDAnnotationTextMarkup现在仅用于处理标记类注释(比如高亮、下划线、删除线、波浪线这类针对已有文本的标记),不再涵盖自由文本注释
  • 自由文本注释作为独立的注释类型,由PDAnnotationFreeText单独实现,对应PDF规范中的FreeText注释类型

内容的提问来源于stack exchange,提问作者Benjamin James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:45:55