Remover marcas d'água PDF em Java
Contents
[
Hide
]
Remover artefatos de marca d’água da primeira página de um PDF em Java.
Excluir artefatos de marca d’água
O exemplo remove da primeira página apenas os artefatos do tipo Pagination e do subtipo Watermark. As marcas d’água visíveis armazenadas como texto comum da página, imagens ou anotações permanecem no PDF.
- Abra o PDF de origem com Document.
- Percorra a coleção de artefatos da página em ordem inversa.
- Exclua os artefatos de paginação cujo subtipo é marca d’água, então salve o documento.
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());
}
}