最近下一个收费的ppt,好吧,不想fufei.保存网页手动生成一下,需要图片转PDF的小工具。
结果搜半天,搜到一个一次只支持5张图片,有这功夫我放word里就转了。
我文件夹下有600多张图片,生产PDF。全选放word里,竟然是倒序,不知道怎么排序,也许可以修改一下文件名。
现写一个小工具好了。
第一步,图片重命名。
要转的图片准备好,命名为‘1.jpg’数字格式。如果不在乎顺序的话,其实也可以不重命名图片。
path = 'D:/test'
imagePaths = sorted(list(paths.list_files(path)))
index = 0
for imagePath in imagePaths:
print(imagePath)
# new = imagePath.replace('abcd','')
os.renames(imagePath, str(index)+'.jpg')
index += 1
第二步,转PDF
准备一个空白的PDF文档(也可以不空白,呵呵,会重写)
960*1355是根据图片对应计算的A4的尺寸,保证图片最大清晰度。可以任意按比例修改。
from reportlab.lib.pagesizes import portrait
from reportlab.pdfgen import canvas
path = 'D:/test'
pdf_path = 'D:/myPdf.pdf'
imagePaths = sorted(list(int(i.replace('.jpg', '')) for i in os.listdir(path)))
w, h = 960, 720 # 图片的尺寸
user = canvas.Canvas(pdf_path, pagesize=portrait((960, 1355)))
for imagePath in imagePaths:
jpg_path = path + '/' + str(imagePath) + '.jpg'
user.drawImage(jpg_path, 0, 317, w, h)
user.showPage()
user.save()
本来想集成一个wxpython,做一个exe的,有时间再做吧。
又是写代码的一天!
点个赞,我觉得你会开心,因为我会开心!笔芯!