Skip to content

Commit 178069a

Browse files
authored
ENH: Expand metadata (#11)
1 parent 04a782c commit 178069a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

cpdf/metadata.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Show metadata of a PDF file"""
22

3+
import os
34
from enum import Enum
45
from pathlib import Path
5-
from typing import Optional, Tuple
6+
from typing import Optional, Set, Tuple
67

78
from pydantic import BaseModel
89
from PyPDF2 import PdfReader
@@ -55,6 +56,7 @@ def main(pdf: Path, output: OutputOptions) -> None:
5556
table.add_column("Attribute", justify="right", style="cyan", no_wrap=True)
5657
table.add_column("Value", style="white")
5758

59+
table.add_row("File Size", f"{os.path.getsize(pdf):,} Bytes")
5860
table.add_row("Title", meta.title)
5961
table.add_row("Producer", meta.producer)
6062
table.add_row("Pages", f"{meta.pages:,}")
@@ -66,6 +68,14 @@ def main(pdf: Path, output: OutputOptions) -> None:
6668
table.add_row("PDF File Version", meta.pdf_file_version)
6769
table.add_row("Page Layout", meta.page_layout)
6870
table.add_row("Page Mode", meta.page_mode)
71+
embedded_fonts: Set[str] = set()
72+
unemedded_fonts: Set[str] = set()
73+
for page in reader.pages:
74+
emb, unemb = page._get_fonts()
75+
embedded_fonts = embedded_fonts.union(set(emb))
76+
unemedded_fonts = unemedded_fonts.union(set(unemb))
77+
table.add_row("Fonts (unembedded)", ", ".join(sorted(unemedded_fonts)))
78+
table.add_row("Fonts (embedded)", ", ".join(sorted(embedded_fonts)))
6979

7080
console = Console()
7181
console.print(table)

0 commit comments

Comments
 (0)