# -*- coding: utf-8 -*- """把 PDF 指定页渲染成 PNG,用于版式校验。""" import os import sys import pymupdf OUT = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'out') os.makedirs(OUT, exist_ok=True) def render(pdf, pages=(0,), dpi=110, prefix=None): doc = pymupdf.open(pdf) prefix = prefix or os.path.splitext(os.path.basename(pdf))[0] for p in pages: if p >= len(doc): continue page = doc[p] pix = page.get_pixmap(dpi=dpi) path = os.path.join(OUT, "%s_p%d.png" % (prefix, p + 1)) pix.save(path) print(path) print("pages:", len(doc)) doc.close() if __name__ == "__main__": name = sys.argv[1] pages = [int(x) for x in sys.argv[2].split(",")] if len(sys.argv) > 2 else [0] render(os.path.join(OUT, name), pages)