如何将状态设置为PDAnnotationTextMarkup?

时间:2017-12-20 10:41:01

标签: java apache pdfbox

我想在注释中添加状态,如下图

https://imgur.com/a/ZGeQo(抱歉,我需要至少10个声望才能发布图片)

我试试这个

PDAnnotationTextMarkup a= new PDAnnotationTextMarkup(PDAnnotationTextMarkup.SUB_TYPE_HIGHLIGHT);
a.getCOSObject().setString(COSName.STATE, "Completed");

但这不起作用。

1 个答案:

答案 0 :(得分:0)

根据PDF规范ISO 32000-2:

  

12.5.6.3注释状态

     

从PDF 1.5开始,注释可能具有与其关联的作者特定状态。状态未在注释本身中指定,而是在单独的文本注释中指定,该注释通过其 IRT ("回复")条目引用原始注释(请参阅&# 34;表176 - 特定于链接注释的附加条目")。各州应分为若干州模型,如"表174 - 注释状态"所示。

     

用户所做的状态更改应在文本注释中用以下条目表示:

     
      
  • T 条目(请参阅"表172 - 特定于标记注释的注释字典中的附加条目")应指定用户。
  •   
  • IRT 条目(请参阅"表176 - 特定于链接注释的附加条目")应引用原始注释。
  •   
  • 状态 StateModel (请参阅"表175 - 特定于文本注释的附加条目")应更新原始注释的状态指定用户。
  •   
     

其他状态更改应通过添加文本注释来回复给定用户的上一个回复。

表174 - 注释状态 - 包含例如状态模型中的条目"评论"为州和#34;已完成"。

因此,您必须通过添加新的文本注释来设置状态,以回复上一次对注释的回复(或者,在回复注释本身时缺少该注释)和状态信息。