python实现批量下载Excel中图片的URL到本地,然后图片批量合成PDF

本文介绍如何使用Python结合openpyxl和requests库从Excel文件中批量下载图片,并利用fitz库将图片合并成PDF。首先,通过读取Excel表格中的URL,逐个下载图片并保存为PNG格式。然后,将所有图片转换为PDF,最终生成一个名为'中外教育史教案.pdf'的PDF文件。
摘要由CSDN通过智能技术生成

python实现批量下载Excel中图片的URL到本地

代码如下:

import openpyxl
import requests

wb = openpyxl.load_workbook('/Users/edz/Desktop/1.xlsx')
sheet = wb['Sheet1']

for i in range(91):
    name = sheet['A'+str(i+1)].value##此为图片的命名,名字在表中C列
    url = sheet['B'+str(i+1)].value##图片链接在表中E列,根据实际情况做更改
    image = open(str(name)+'.png','wb')
    res = requests.get(url)
    for chunk in res.iter_content(100000):
        image.write(chunk)
    image.close()

然后图片批量合成PDF

代码如下:

import glob
import fitz
import os

def pic2pdf():
  doc = fitz.open()
  for img in sorted(glob.glob("/Users/edz/Desktop/图片地址/*")): # 读取图片,图片本地地址,需要修改
    print(img)
    imgdoc = fitz.open(img)         # 打开图片
    pdfbytes = imgdoc.convertToPDF()    # 使用图片创建单页的 PDF
    imgpdf = fitz.open("pdf", pdfbytes)
    doc.insertPDF(imgpdf)          # 将当前页插入文档
  if os.path.exists("中外教育史教案.pdf"):#PDF文档命名
    os.remove("中外教育史教案.pdf")
  doc.save("中外教育史教案.pdf")          # 保存pdf文件
  doc.close()

if __name__ == '__main__':
  pic2pdf()

希望对大家有帮助,提高人效,不懂的留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值