python3 把多个jpg合并到一个pdf 出问题,求帮忙?

我想把多个jpg文件合并到一个pdf里面,但是,我打开pdf 只看到只有一张图片,这个问题难到我了,求帮忙?

这是我的代码

https://github.com/huchiwen/L...

阅读 2k
2 个回答

img2pdf

# multiple inputs (variant 1)
with open("name.pdf","wb") as f:
    f.write(img2pdf.convert("test1.jpg", "test2.png"))

# multiple inputs (variant 2)
with open("name.pdf","wb") as f:
    f.write(img2pdf.convert(["test1.jpg", "test2.png"]))

定义一个列表 img_list = []
每次请求完把图片添加到列表 img_list.append(jpg_file.content)
最后一次性写入 f.write(img2pdf.convert(img_list))

另外,我的建议是改为并行请求,速度更快

参考代码

from concurrent.futures import ThreadPoolExecutor

def getImg(v):
    jpg_url =f'https://qingarchives.npm.edu.tw/index.php?act=Display/loadimg/{resouse}/{v}'
    jpg_file = requests.get(jpg_url,cookies=cookies,headers=headers)
    return jpg_file.content

with open(f'{dirs}/{page_filename}.pdf','wb') as f:
    f.write(img2pdf.convert(*ThreadPoolExecutor(20).map(getImg, dicts_filename.get('page_list'))))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏