将图片转为 PDF 的主要原因之一是为了方便共享和传输。此外,将多张图片合并成一个 PDF 文件还可以简化文件管理。之前文章详细介绍过如何使用第三方库Spire.PDF for Python将PDF文件转为图片,那么本文介绍使用同样工具在Python中实现图片转PDF文件的功能。
通过以下pip命令进行安装Python库:
pip install Spire.PDF
Python 实现图片转PDF
以下是将一个文件夹中的多张图片转换为一个PDF文件的示例。几乎每行代码都有详细注释,并且Spire.PDF for Python提供的接口也非常简单易懂,大家可直接查看。
from spire.pdf.common import *
from spire.pdf import *
import os
# 创建PdfDocument对象
doc = PdfDocument()
# 将页边距设置为0
doc.PageSettings.SetMargins(0.0)
# 指定存放图片的文件夹路径
path = "C:\\Users\\Administrator\\Desktop\\图片\\"
files = os.listdir(path)
# 遍历文件夹中的文件
for root, dirs, files in os.walk(path):
for file in files:
# 加载图片
image = PdfImage.FromFile(os.path.join(root, file)) #FromFile(os.path.join(root, file))
# 获取图片的宽度和高度
width = image.PhysicalDimension.Width
height = image.PhysicalDimension.Height
# 在PDF中添加与图片相同尺寸的页面
page = doc.Pages.Add(SizeF(width, height))
# 从页面的 (0, 0) 处开始绘制图片
page.Canvas.DrawImage(image, 0.0, 0.0, width, height)
# 保存生成文件
doc.SaveToFile("图片转Pdf.pdf")
doc.Dispose()
图片转PDF效果图:
参考:
Python PDF库下载链接https://www.e-iceblue.cn/Downloads/Spire-PDF-Python.html
Python 操作PDF教程https://www.e-iceblue.cn/pdfforpython/spire-pdf-for-python-program-guide-content.html
申请授权移除水印https://www.e-iceblue.cn/misc/temporary-license.html