Contar artefactos PDF en Python

Contar artefactos de un tipo concreto

Este ejemplo muestra cómo inspeccionar y contar artefactos de paginación en un PDF Document usando Aspose.PDF for Python via .NET. Los artefactos de paginación incluyen elementos como marcas de agua, fondos, encabezados y pies de página que se aplican a las páginas con fines de diseño e identificación. Al filtrar objetos Artifact en una Page y agruparlos por subtipo (Artifact.ArtifactSubtype), los desarrolladores pueden analizar rápidamente la estructura del documento y verificar la presencia de elementos específicos.

Para calcular el recuento total de artefactos de un tipo concreto, por ejemplo el número total de marcas de agua, use el siguiente código. El ejemplo filtra la colección Artifacts de la página, que es una ArtifactCollection, por Artifact.ArtifactType y luego cuenta los subtipos (Artifact.ArtifactSubtype).

  1. Abra el documento PDF (ver Document).
  2. Filtrar los artefactos de paginación usando la colección Artifacts de la página.
  3. Contar artefactos por subtipo (Artifact.ArtifactSubtype).
  4. Imprima los 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)}")

Temas relacionados con artefactos