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