Python で PDF アーティファクトをカウントする方法
Contents
[
Hide
]
特定のタイプのアーティファクトのカウント
PDF のページネーションアーティファクトの検査とカウント Document .NET 経由で Python 用 Aspose.PDF を使用する。ページネーションアーティファクトには、レイアウトや識別の目的でページに適用されるウォーターマーク、背景、ヘッダー、フッターなどの要素が含まれます。フィルタリングによって Artifact 上のオブジェクト Page そしてそれらをサブタイプごとにグループ化します(Artifact.ArtifactSubtype) を使うと、開発者はドキュメントの構造をすばやく分析し、特定の要素の存在を確認できます。
特定のタイプのアーティファクトの総数 (ウォーターマークの総数など) を計算するには、次のコードを使用します。この例ではページがフィルタリングされます。 Artifacts コレクション (と) 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)}")