从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
相关产品推荐
相关产品推荐

