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

人工智能python 专栏收录该内容
6 篇文章 0 订阅

最近下一个收费的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
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值