使用 Java 的安全批注
Contents
[
Hide
]
标记要遮蔽的文本
- 加载 PDF 并搜索所有页面中应被编辑的文本。
- 创建一个
RedactionAnnotation针对每个匹配的文本片段并配置其外观。 - 将编辑批注添加到相应页面并保存文档。
public static void markTextRedaction(Path inputFile, Path outputFile, String searchTerm) {
try (Document document = new Document(inputFile.toString())) {
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(searchTerm);
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.setTextSearchOptions(textSearchOptions);
document.getPages().accept(textFragmentAbsorber);
for (TextFragment textFragment : textFragmentAbsorber.getTextFragments()) {
Page page = textFragment.getPage();
Rectangle annotationRectangle = textFragment.getRectangle();
RedactionAnnotation annotation = new RedactionAnnotation(page, annotationRectangle);
annotation.setFillColor(Color.getGray());
annotation.setBorderColor(Color.getRed());
annotation.setColor(Color.getWhite());
annotation.setOverlayText("REDACTED");
annotation.setTextAlignment(HorizontalAlignment.Center);
annotation.setRepeat(true);
page.getAnnotations().add(annotation, true);
}
document.save(outputFile.toString());
}
}