在本文中,我将向您展示一个小但非常酷的小程序,该项目将从特定文件夹中获取所有图像文件,并创建一个包含所有图像的 PDF 文件。
img2pdfimg2pdf 是一个开源的 Python 包,用于将图像转换为 pdf 格式,也可用于增强图像(亮度,对比度等)。我们可以使用 img2pdf 模块提供的 img2pdf.convert()函数,将图像转换为 pdf 字节,然后在 wb 模式下打开 pdf 文件并用字节写入。
使用 img2pdf 前,请先使用此命令安装包:
pip install img2pdf
将单张图片转换为 PDF 文件导入 img2pdf 模块,使用 img2pdf.convert()函数,获取图像文件路径并将其转换为 PDF 文件。
文件以二进制模式写入。当以二进制模式写入时,Python在将数据写入文件时不会对数据进行任何更改。在文本模式下,Python 将对文本进行编码,这会损坏图像。
import img2pdfimg_path = "C:/pic/join1.jpg" #指定图片文件with open("name.pdf","wb") as f: f.write(img2pdf.convert(img_path))将多张图片转换为 PDF 文件使用 for 循环和 os.listdir() 方法遍历文件夹中的所有文件,利用 endswith() 方法检测文件扩展名,将所有“.jpg”文件转换为 PDF 文件。
import img2pdfimport osimg_path = "C:/pic/"imgs = []for f in os.listdir(img_path): if not f.endswith(".jpg"): #检测文件类型,否则跳过 continue path = os.path.join(img_path, f) #完整文件路径 if os.path.isdir(path): ##检测是否为文件,否则跳过 continue imgs.append(path) #将文件完整路径添加到列表存储with open("name.pdf","wb") as f: f.write(img2pdf.convert(imgs))img2pdf 有很多优点,可以实现图片无损转换,无需对图片重新编码,文件小,速度快。
其他传统的转换软件(如ImageMagick),需要重新对图片编码,不能无损转换,文件大,速度慢。
❝
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
❞