Sample - Multi Page Tiff

for i in range(tiff.n_frames): tiff.seek(i) tiff.save(f"page_i+1.png") # extract each page as PNG print(f"Saved page i+1") Many default image viewers only show the first page . Here’s what works well:

| Platform | Recommended Viewer | |----------|--------------------| | Windows | or IrfanView (supports next/prev page) | | macOS | Xee or Preview (sometimes limited) | | Linux | GIMP , nomacs , or ImageMagick | | Web | Load into a JS library like tiff.js or convert to PDF | Pro tip: Use ImageMagick in the terminal to quickly check a multi-page TIFF:

print(f"Number of pages: tiff.n_frames") multi page tiff sample

If you’ve ever scanned a document, received a fax, or worked with archival images, you’ve likely encountered a TIFF file. But did you know that unlike JPEG or PNG, TIFF can store multiple pages inside a single file?

print("Multi-page TIFF created: output_multipage.tiff") from PIL import Image Open existing multi-page TIFF existing = Image.open("original.tiff") Load all existing pages pages = [] for i in range(existing.n_frames): existing.seek(i) pages.append(existing.copy()) New page (e.g., a signature page) new_page = Image.open("signature.png").convert("RGB") pages.append(new_page) Save back as multi-page TIFF pages[0].save( "appended.tiff", save_all=True, append_images=pages[1:], compression="tiff_lzw" ) How to Read / Extract Pages from a Multi-Page TIFF from PIL import Image tiff_path = "document.tiff" tiff = Image.open(tiff_path) for i in range(tiff

Share it in the comments below! Enjoyed this post? Subscribe for more deep dives into document formats, imaging tools, and programming tips.

With the Python samples above, you can start creating and processing them in minutes. And if you ever need to peek inside a multi-page TIFF without coding – ImageMagick and IrfanView are your best friends. print("Multi-page TIFF created: output_multipage

pip install Pillow from PIL import Image import os List of image files (PNG, JPEG, or single-page TIFFs) image_files = ["page1.png", "page2.png", "page3.png"] Open all images images = [Image.open(f).convert("RGB") for f in image_files] Save as multi-page TIFF images[0].save( "output_multipage.tiff", save_all=True, append_images=images[1:], compression="tiff_lzw", dpi=(300, 300) )

That’s right – a multi-page TIFF (also called a multi-frame or multi-directory TIFF) is like a digital binder. Think of it as the TIFF equivalent of a PDF, but with lossless compression and high image fidelity.