import fitz from PIL import Image from pathlib import Path src=Path('/Users/adolforeyna/brain/exports/emi_latin_america_redesign.pdf') out=Path('/Users/adolforeyna/brain/exports/emi_redesign_render') out.mkdir(exist_ok=True) doc=fitz.open(src) files=[] for i,page in enumerate(doc): p=out/f'slide-{i+1:02}.png' page.get_pixmap(matrix=fitz.Matrix(.75,.75),alpha=False).save(p) files.append(p) sheet=Image.new('RGB',(1280,1440),(240,240,240)) for i,p in enumerate(files): tile=Image.open(p).convert('RGB').resize((640,360)) sheet.paste(tile,((i%2)*640,(i//2)*360)) sheet.save(out/'contact.jpg',quality=90) print('rendered',len(files),'pages; contact sheet:',out/'contact.jpg')