Files

31 lines
832 B
Python

# -*- 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)