Macabeus Macabeus - 7 months ago 82
Python Question

Create PDF from a list of images

Is there any practical way to create a PDF from a list of images files, using Python?

In Perl I know that module. With it I can create a PDF in just 3 lines:

use PDF::FromImage;
my $pdf = PDF::FromImage->new;
$pdf->write_file($bookName . '.pdf');

I need to do something very similar to this, but in Python. I know the pyPdf module, but I would like something simple.


If you came through Google, here's the code:

from fpdf import FPDF
from PIL import Image
def makePdf(pdfFileName, listPages, dir = ''):
if (dir):
dir += "/"

cover = + str(listPages[0]) + ".jpg")
width, height = cover.size

pdf = FPDF(unit = "pt", format = [width, height])

for page in listPages:
pdf.image(dir + str(page) + ".jpg", 0, 0)

pdf.output(dir + pdfFileName + ".pdf", "F")


Install FPDF for Python:

pip install fpdf

Now you can use the same logic:

from fpdf import FPDF
pdf = FPDF()
# imagelist is the list with all image filenames
for image in imagelist:
pdf.output("yourfile.pdf", "F")

You can find more info at the tutorial page or the official documentation.