如何将状态设置为PDAnnotationTextMarkup?

问题描述 投票:0回答:1

我想在注释中添加一个状态,如下图所示

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

我尝试这个

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

但这不起作用。

java apache pdfbox
1个回答
0
投票

根据PDF规范ISO 32000-2:

12.5.6.3 Annotation states

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

用户进行的状态更改应在文本注释中指示,并带有以下条目:

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

应通过添加文本注释来响应给定用户的先前回复来进行其他状态更改。

表174-注释状态 - 包含例如状态“已完成”的状态模型“Review”中的条目。

因此,您必须通过添加新的文本注释来设置状态,以回复对注释的先前回复(或者,缺少回复注释本身)以及状态信息。

© www.soinside.com 2019 - 2024. All rights reserved.