Remover fundos de PDF em Java

Remover artefatos de fundo da primeira página de um PDF em Java.

Remover artefatos de fundo

Use esta abordagem quando os artefatos de fundo existentes devem ser excluídos da página.

  1. Abra o PDF de origem com Document.
  2. Percorra a coleção de artefatos de página em ordem reversa.
  3. Exclua artefatos cujo tipo seja paginação e subtipo seja plano de fundo, então salve o documento.
public static void removeBackground(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.Background) {
                document.getPages().get_Item(1).getArtifacts().delete(artifact);
            }
        }

        document.save(outputFile.toString());
    }
}

Tópicos relacionados