每周需要打印小孩子的作业,老师都是在 app 里用图片的格式布置,打印图片需要一页页打印,非常耗时,遂编写了如下一段脚本,节省一点时间。需要安装 fitz 和 PyMuPDF 两个模块:
pip install fitz
pip install PyMuPDF
脚本如下:
import fitz
import os
doc = fitz.open()
# jpg文件路径: 当前文件夹下的files文件夹
img_path = os.path.join(os.path.abspath(os.curdir), 'files')
# 避免顺序错误,将1.jpg, 2.jpg ... 10.jpg等前面补零变为01.jpg, 02.jpg等
for img_file in os.listdir(img_path):
new_name = ('0000' + img_file)[len(img_file)-3:] #长度对齐
os.rename(os.path.join(img_path, img_file), os.path.join(img_path, new_name))
# 转换为pdf格式后合并
for img_file in os.listdir(img_path):
full_name= os.path.join(img_path, img_file)
pdfbytes = fitz.open(full_name).convert_to_pdf()
imgpdf = fitz.open(img_file + '.pdf', pdfbytes)
doc.insert_pdf(imgpdf)
doc.save('combined.pdf')
doc.close()