Contar Artefatos PDF em Python

Contando Artefatos de um Tipo Particular

Inspecione e conte artefatos de paginação em um PDF Document usando Aspose.PDF for Python via .NET. Artefatos de paginação incluem elementos como marcas d’água, fundos, cabeçalhos e rodapés que são aplicados às páginas para fins de layout e identificação. Ao filtrar Artifact objetos em um Page e agrupando-os por subtipo (Artifact.ArtifactSubtype), os desenvolvedores podem analisar rapidamente a estrutura do documento e verificar a presença de elementos específicos.

Para calcular a contagem total de artefatos de um tipo específico (por exemplo, o número total de marcas d’água), use o código a seguir. O exemplo filtra a página Artifacts coleção (an ArtifactCollection) by Artifact.ArtifactType e então conta subtipos (Artifact.ArtifactSubtype).

  1. Abra o documento PDF (veja Document).
  2. Filtre artefatos de paginação usando o ‘da página Artifacts coleção.
  3. Contar artefatos por subtipo (Artifact.ArtifactSubtype).
  4. Imprima os resultados.

from os import path
from collections import Counter
import sys
import aspose.pdf as ap

def count_pdf_artifacts(infile):
    """Count and display artifacts of different types on the first page."""
    with ap.Document(infile) as document:
        pagination_artifacts = [
            artifact
            for artifact in document.pages[1].artifacts
            if artifact.type == ap.Artifact.ArtifactType.PAGINATION
        ]

        subtypes = [artifact.subtype for artifact in pagination_artifacts]
        counts = Counter(subtypes)

        print(f"Watermarks: {counts.get(ap.Artifact.ArtifactSubtype.WATERMARK, 0)}")
        print(f"Backgrounds: {counts.get(ap.Artifact.ArtifactSubtype.BACKGROUND, 0)}")
        print(f"Headers: {counts.get(ap.Artifact.ArtifactSubtype.HEADER, 0)}")
        print(f"Footers: {counts.get(ap.Artifact.ArtifactSubtype.FOOTER, 0)}")

Tópicos de Artefatos Relacionados