Python将多张图片组成pdf

安装packages:
pip install fitz
pip install PyPDF2

import fitz
import os
import cv2
import PyPDF2
def pic2pdf():
    doc = fitz.open()
    imgs = os.listdir('pic2pdf')
    for i in range(len(imgs)):
        img = os.path.join('pic2pdf', f'{i+1}.jpg')
        print(img)
        imgdoc = fitz.open(img)                 # 打开图片
        pdfbytes = imgdoc.convertToPDF()        # 使用图片创建单页的 PDF
        imgpdf = fitz.open("pdf", pdfbytes)
        doc.insertPDF(imgpdf)                   # 将当前页插入文档
    if os.path.exists("maitu.pdf"):
        os.remove("maitu.pdf")
    doc.save("maitu.pdf")                   # 保存pdf文件
    doc.close()
def rotate_pdf():
    # 输入文件
    getFile = open('maitu.pdf', 'rb')
    pdfReader = PyPDF2.PdfFileReader(getFile)
    pdfWriter = PyPDF2.PdfFileWriter()
    for i in range(17):
        page = pdfReader.getPage(i)
        if i in [5, 10, 13]:
            # 页面旋转90度
            page.rotateClockwise(90)
        pdfWriter.addPage(page)
    # 输出文件
    outFile = open('rotate.pdf', 'wb')
    pdfWriter.write(outFile)
    outFile.close()
def resize_img():
    img_dir = 'pic2pdf'
    img_names = os.listdir(img_dir)
    for i in range(len(img_names)):
        img_path = os.path.join('pic2pdf', f'{i+1}.jpg')
        img = cv2.imread(img_path)
        res = cv2.resize(img, (4002, 3002))
        cv2.imwrite(img_path, res)