在 Java 中删除 PDF 水印
Contents
[
Hide
]
在 Java 中删除 PDF 首页的水印伪迹。
删除水印伪迹
此示例仅删除第一页中类型为 Pagination、子类型为 Watermark 的工件。以普通页面文本、图像或注释形式保存的可见水印仍保留在 PDF 中。
- 使用 Document 打开源 PDF.
- 以相反顺序遍历页面工件集合。
- 删除子类型为 watermark 的分页工件,然后保存文档。
public static void deleteWatermarkArtifact(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
for (int i = document.getPages().get_Item(1).getArtifacts().size(); i >= 1; i--) {
Artifact artifact = document.getPages().get_Item(1).getArtifacts().get_Item(i);
if (artifact.getType() == Artifact.ArtifactType.Pagination
&& artifact.getSubtype() == Artifact.ArtifactSubtype.Watermark) {
document.getPages().get_Item(1).getArtifacts().delete(artifact);
}
}
document.save(outputFile.toString());
}
}