Skip to content

PDF 生成模板编辑器

开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。

查看 GitHub

创建标记密文 ​

标记密文有以下两个步骤:

  1. 创建密文注释: 在需要标记的区域创建密文注释。这一步骤只是标记要进行应用密文更改的区域,在应用密文更改前可以修改或删除这些密文注释,且不会从文档中删除内容。

  2. 应用密文更改:标记好需要彻底删除内容的区域后,应用密文更改,密文注释所在区域的内容将被不可逆地删除。

通过这两个步骤,您可以创建密文注释并应用标记密文,彻底删除文档中的敏感数据。

创建密文注释 ​

您可以通过 Annotations.RedactionAnnotation 创建密文注释,并用 annotationManager 的 addAnnotation 方法添加。

根据密文注释的作用可分为两种类型:

  1. 涂黑:应用后将删除标记区域的内容,并涂黑该区域,以明确指示该区域含有敏感信息;
  2. 涂白:应用后将删除标记区域的内容,显示出该区域的底色。

此外, 在此阶段还可以对注释进行修改或删除。需要注意,一旦密文注释被应用,其外观将无法更改,因为密文注释将在应用后变为不可编辑、不可修改的静态内容,而非可交互的密文注释。

以下是创建密文注释的示例代码:

javascript
// 创建标记密文注释(涂黑)。
const blackRedaction = new Annotations.RedactionAnnotation({
  PageNumber: 1,
  X: 60,
  Y: 180,
  Width: 160,
  Height: 80,
  FillColor: new Annotations.Color(0, 0, 0),
  Erasure: false // 不填写此属性时默认为false。
});
annotationManager.addAnnotation(blackRedaction);

// 创建标记密文注释(涂白)。
const whiteRedaction = new Annotations.RedactionAnnotation({
  PageNumber: 1,
  X: 60,
  Y: 60,
  Width: 160,
  Height: 70,
  Erasure: true
});
annotationManager.addAnnotation(whiteRedaction);

应用密文更改 ​

ComPDFKit SDK 确保如果文本、图像或矢量图形包含在密文注释所标记的区域中,则该部分的图像或路径数据将被彻底删除,且无法还原。

通过 annotationManager 的 applyRedactions 方法应用密文注释。支持的参数:

  • 注释列表:应用指定的密文注释;
  • 不填写参数则应用文档注释列表中所有的密文注释。

如果不应用而要放弃密文注释,可以用 annotationManager 的 deleteAnnotations 方法删除它们。

以下是应用密文的示例代码:

javascript
annotationManager.applyRedactions();