Compter les artefacts PDF en Python

Comptage des artefacts d’un type particulier

Inspectez et comptez les artefacts de pagination dans un PDF Document en utilisant Aspose.PDF for Python via .NET. Les artefacts de pagination comprennent des éléments tels que les filigranes, les arrière-plans, les en-têtes et les pieds de page qui sont appliqués aux pages à des fins de mise en page et d’identification. En filtrant Artifact objets sur un Page et les regrouper par sous-type (Artifact.ArtifactSubtype), les développeurs peuvent rapidement analyser la structure du document et vérifier la présence d’éléments spécifiques.

Pour calculer le nombre total d’artefacts d’un type particulier (par exemple, le nombre total de filigranes), utilisez le code suivant. L’exemple filtre les page’s Artifacts collection (un ArtifactCollection) par Artifact.ArtifactType et puis compte les sous-types (Artifact.ArtifactSubtype).

  1. Ouvrez le document PDF (voir Document).
  2. Filtrer les artefacts de pagination en utilisant la page Artifacts collection.
  3. Compter les artefacts par sous-type (Artifact.ArtifactSubtype).
  4. Imprimer les résultats.

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)}")

Sujets d’artefacts associés