Mercurial > hgrepos > Python2 > PyMuPDF
comparison tests/test_metadata.py @ 1:1d09e1dec1d9 upstream
ADD: PyMuPDF v1.26.4: the original sdist.
It does not yet contain MuPDF. This normally will be downloaded when
building PyMuPDF.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:37:51 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 1:1d09e1dec1d9 |
|---|---|
| 1 """ | |
| 2 1. Read metadata and compare with stored expected result. | |
| 3 2. Erase metadata and assert object has indeed been deleted. | |
| 4 """ | |
| 5 import json | |
| 6 import os | |
| 7 import sys | |
| 8 | |
| 9 import pymupdf | |
| 10 | |
| 11 scriptdir = os.path.abspath(os.path.dirname(__file__)) | |
| 12 filename = os.path.join(scriptdir, "resources", "001003ED.pdf") | |
| 13 metafile = os.path.join(scriptdir, "resources", "metadata.txt") | |
| 14 doc = pymupdf.open(filename) | |
| 15 | |
| 16 | |
| 17 def test_metadata(): | |
| 18 assert json.dumps(doc.metadata) == open(metafile).read() | |
| 19 | |
| 20 | |
| 21 def test_erase_meta(): | |
| 22 doc.set_metadata({}) | |
| 23 # Check PDF trailer and assert that there is no more /Info object | |
| 24 # or is set to "null". | |
| 25 statement1 = doc.xref_get_key(-1, "Info")[1] == "null" | |
| 26 statement2 = "Info" not in doc.xref_get_keys(-1) | |
| 27 assert statement2 or statement1 | |
| 28 | |
| 29 | |
| 30 def test_3237(): | |
| 31 filename = os.path.abspath(f'{__file__}/../../tests/resources/001003ED.pdf') | |
| 32 with pymupdf.open(filename) as doc: | |
| 33 # We need to explicitly encode in utf8 on windows. | |
| 34 metadata1 = doc.metadata | |
| 35 metadata1 = repr(metadata1).encode('utf8') | |
| 36 doc.set_metadata({}) | |
| 37 | |
| 38 metadata2 = doc.metadata | |
| 39 metadata2 = repr(metadata2).encode('utf8') | |
| 40 print(f'{metadata1=}') | |
| 41 print(f'{metadata2=}') | |
| 42 assert metadata1 == b'{\'format\': \'PDF 1.6\', \'title\': \'RUBRIK_Editorial_01-06.indd\', \'author\': \'Natalie Schaefer\', \'subject\': \'\', \'keywords\': \'\', \'creator\': \'\', \'producer\': \'Acrobat Distiller 7.0.5 (Windows)\', \'creationDate\': "D:20070113191400+01\'00\'", \'modDate\': "D:20070120104154+01\'00\'", \'trapped\': \'\', \'encryption\': None}' | |
| 43 assert metadata2 == b"{'format': 'PDF 1.6', 'title': '', 'author': '', 'subject': '', 'keywords': '', 'creator': '', 'producer': '', 'creationDate': '', 'modDate': '', 'trapped': '', 'encryption': None}" |
