Search code examples
pythonpdf

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->load_images(@allPagesDir);
$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.


Solution

  • Install fpdf2 for Python:

    pip install fpdf2
    

    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.add_page()
        pdf.image(image,x,y,w,h)
    pdf.output("yourfile.pdf", "F")
    

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