Mercurial > hgrepos > Python2 > PyMuPDF
diff tests/test_extractimage.py @ 3:2c135c81b16c
MERGE: upstream PyMuPDF 1.26.4 with MuPDF 1.26.7
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:44:09 +0200 |
| parents | 1d09e1dec1d9 |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_extractimage.py Mon Sep 15 11:44:09 2025 +0200 @@ -0,0 +1,57 @@ +""" +Extract images from a PDF file, confirm number of images found. +""" +import os +import pymupdf + +scriptdir = os.path.abspath(os.path.dirname(__file__)) +filename = os.path.join(scriptdir, "resources", "joined.pdf") +known_image_count = 21 + + +def test_extract_image(): + doc = pymupdf.open(filename) + + image_count = 1 + for xref in range(1, doc.xref_length() - 1): + if doc.xref_get_key(xref, "Subtype")[1] != "/Image": + continue + img = doc.extract_image(xref) + if isinstance(img, dict): + image_count += 1 + + assert image_count == known_image_count # this number is know about the file + +def test_2348(): + + pdf_path = f'{scriptdir}/test_2348.pdf' + document = pymupdf.open() + page = document.new_page(width=500, height=842) + rect = pymupdf.Rect(20, 20, 480, 820) + page.insert_image(rect, filename=f'{scriptdir}/resources/nur-ruhig.jpg') + page = document.new_page(width=500, height=842) + page.insert_image(rect, filename=f'{scriptdir}/resources/img-transparent.png') + document.ez_save(pdf_path) + document.close() + + document = pymupdf.open(pdf_path) + page = document[0] + imlist = page.get_images() + image = document.extract_image(imlist[0][0]) + jpeg_extension = image['ext'] + + page = document[1] + imlist = page.get_images() + image = document.extract_image(imlist[0][0]) + png_extension = image['ext'] + + print(f'jpeg_extension={jpeg_extension!r} png_extension={png_extension!r}') + assert jpeg_extension == 'jpeg' + assert png_extension == 'png' + +def test_delete_image(): + + doc = pymupdf.open(os.path.abspath(f'{__file__}/../../tests/resources/test_delete_image.pdf')) + page = doc[0] + xref = page.get_images()[0][0] + page.delete_image(xref)
