Подсчёт артефактов PDF на Python
Contents
[
Hide
]
Подсчёт артефактов определённого типа
Проверьте и подсчитайте артефакты пагинации в PDF Document используя Aspose.PDF for Python via .NET. Артефакты пагинации включают такие элементы, как водяные знаки, фон, заголовки и нижние колонтитулы, которые применяются к страницам для целей оформления и идентификации. Фильтруя Artifact объекты на Page и группируя их по подтипу (Artifact.ArtifactSubtype), разработчики могут быстро проанализировать структуру документа и проверить наличие конкретных элементов.
Чтобы вычислить общее количество артефактов определённого типа (например, общее число водяных знаков), используйте следующий код. Пример фильтрует страницу Artifacts коллекция (an ArtifactCollection) по Artifact.ArtifactType а затем подсчитывает подтипы (Artifact.ArtifactSubtype).
- Откройте PDF-документ (см
Document). - Отфильтруйте артефакты пагинации, используя страницу
Artifactsколлекцию. - Подсчитайте артефакты по подтипу (
Artifact.ArtifactSubtype). - Выведите результаты.
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)}")