python jpg转pdf小工具,基于reportlab的图片批量转PDF实现

最近下一个收费的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的,有时间再做吧。

又是写代码的一天!

点个赞,我觉得你会开心,因为我会开心!笔芯!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值