Remover Cabeçalhos e Rodapés de PDF em Java

Remover artefatos de cabeçalho e rodapé da primeira página de um PDF em Java.

Excluir artefatos de cabeçalho e rodapé

Use esta abordagem quando artefatos de cabeçalho e rodapé existentes devem ser removidos 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 de paginação cujo subtipo é cabeçalho ou rodapé, e salve o documento.
public static void deleteHeaderFooterArtifact(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.Header
                    || artifact.getSubtype() == Artifact.ArtifactSubtype.Footer)) {
                document.getPages().get_Item(1).getArtifacts().delete(artifact);
            }
        }

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

Tópicos relacionados