from fpdf import FPDF
from PIL import Image
import os
def makePdf(pdfFileName, listPages):
# png size
cover = Image.open(listPages[0])
width, height = cover.size
# creat a blank pdf file
pdf = FPDF(unit = "pt", format = [width, height])
# add png one by one
for page in listPages:
pdf.add_page()
pdf.image(page, 0, 0)
pdf.output(pdfFileName, "F")
if __name__=="__main__":
pngNum_for_onePDF = 4
pngFileName = 'PNG'
pdfFileName = 'PDF'
if not os.path.exists(pdfFileName):
os.makedirs(pdfFileName)
pngFileList = os.listdir(pngFileName)
total_num = len(pngFileList)
iteration = int(total_num/pngNum_for_onePDF)
for i in range(iteration):
makePdf(pdfFileName + '/' + str(i) + ".pdf", [pngFileName + '/' + pngFileList[j] for j in range(pngNum_for_onePDF*i, pngNum_for_onePDF*(i+1))])
多个png合并pdf
最新推荐文章于 2024-12-27 16:55:42 发布