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).
- Ouvrez le document PDF (voir
Document). - Filtrer les artefacts de pagination en utilisant la page
Artifactscollection. - Compter les artefacts par sous-type (
Artifact.ArtifactSubtype). - 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)}")