有没有什么实用的方法可以使用Python从图像文件列表中创建PDF?
在Perl中,我知道that module。有了它,我可以用3行创建一个PDF文件:
use PDF::FromImage;
...
my $pdf = PDF::FromImage->new;
$pdf->load_images(@allPagesDir);
$pdf->write_file($bookName . '.pdf');
我需要做一些非常类似的事情,但在Python中。我知道pyPdf模块,但我想要一些简单的东西。
@编辑
如果你是通过谷歌来的,下面是代码:
from fpdf import FPDF
from PIL import Image
def makePdf(pdfFileName, listPages, dir = ''):
if (dir):
dir += "/"
cover = Image.open(dir + str(listPages[0]) + ".jpg")
width, height = cover.size
pdf = FPDF(unit = "pt", format = [width, height])
for page in listPages:
pdf.add_page()
pdf.image(dir + str(page) + ".jpg", 0, 0)
pdf.output(dir + pdfFileName + ".pdf", "F")
到目前为止,将多个图像转换为PDF的最佳方法是纯粹使用
PIL
。它非常简单但功能强大:只需将
save_all
设置为True
,并将append_images
设置为要添加的图像列表。您可能会遇到
AttributeError: 'JpegImageFile' object has no attribute 'encoderinfo'
。解决方案在这里Error while saving multiple JPEGs as a multi-page PDF注意:安装最新的
PIL
以确保save_all
参数可用于PDF。安装FPDF for Python:
现在您可以使用相同的逻辑:
您可以找到更多信息at the tutorial page或official documentation。
如果使用Python 3,则可以使用Python模块img2pdf
使用
pip3 install img2pdf
安装它,然后可以在脚本中使用它 使用import img2pdf
示例代码
相关问题 更多 >
编程相关推荐