今天需要将一组图片转PDF,翻出之前编的一个小程序,还挺好用,分享一下:
# -*- coding: utf-8 -*-
"""
Created on Tue Sep 22 12:16:32 2020
@author: Wang Dao-yi
"""
from fpdf import FPDF
from PIL import Image
import os
class MyPNGToPDF:
def __init__(self,srcPath,dstFile):
self.name="Convert PNG pictures into a PDF file"
self.srcPath=srcPath
self.dstFile=dstFile
def makePdf(self):
fileList=[self.srcPath+'\\'+imgFileName for imgFileName in \
os.listdir(self.srcPath) \
if imgFileName.endswith("jpg")]
#for png, change jpg to png
print(fileList)
cover = Image.open(fileList[0])
width, height = cover.size
pdf = FPDF(unit = "pt", format = [width, height])
for page in fileList:
pdf.add_page()
pdf.image(page, 0, 0)
pdf.output(self.dstFile, "F")
print(self.dstFile)
def main():
pathname= r'D:\data\PDF\tmp2'
dstfilename = pathname+r'\result.pdf'
print(pathname)
myPNGToPDF=MyPNGToPDF(pathname,dstfilename)
myPNGToPDF.makePdf()
if __name__=='__main__':
main()