针对上一篇随笔Python爬取《国王排名》漫画所爬取的漫画图片,我想把它们都拼成一个pdf文件,方便看漫画,如下图:
代码是针对我自己的本地文件图片,如果你需要图片转PDF,需要注意更改部分代码噢,代码并不难,稍微认真看一下就能理解了(#.#)
Python3 OS 文件/目录方法
glob模块
Reportlab学习笔记
Python图像处理PIL各模块详细介绍
python PIL模块学习
代码示例:
import os
import glob
from reportlab.lib.pagesizes import portrait
from reportlab.pdfgen import canvas
from PIL import Image
def jpg_to_pdf(jpgs, path):
w, h = Image.open(jpgs[0]).size
ca = canvas.Canvas(path, pagesize=portrait((w, h)))
for jpg in jpgs:
ca.drawImage(jpg, 0, 0, w, h)
ca.showPage()
ca.save()
if __name__ == '__main__':
paths = 'D:\桌面\漫画下载\国王排名'
for i in os.listdir(paths):
jpg_path = glob.glob(f"{paths}\\{i}\*.jpg")
# jpg_path = os.listdir(path+"\\"+i)
# jpg_path.sort(key=lambda x: int(x.split('.')[0]))
jpg_path.sort(key=lambda x: int(os.path.basename(x).split('.')[0]))
pdf_path = f'{i}.pdf'
jpg_to_pdf(jpg_path, pdf_path)
操作pdf的Python库还有一个比较经常用的是 PyPDF2模块
,本部分内容与本文章无关,想了解的可以点击下方链接阅读哈~
Python 深入浅出 - PyPDF2 处理 PDF 文件
PyPDF2 Documentation
Python PyPDF2 模块,PdfFileWriter() 实例源码