Python por lotes convierte imágenes a pdf

Código para convertir y fusionar imágenes en documentos de Word a PDF. El código primero lee las imágenes en el documento de Word desde la ruta especificada y luego guarda los archivos de imágenes en la carpeta especificada path_convert. Luego, el programa recorre las carpetas donde se guardan las imágenes, convierte todos los archivos de imágenes en archivos PDF con el mismo nombre y los guarda en la carpeta donde se encuentran los archivos de imágenes originales. Finalmente, el programa combina todos los archivos PDF en la misma carpeta en un archivo llamado salida.pdf.

Cabe señalar que la biblioteca PyPDF2 debe instalarse en el código, ya que la biblioteca proporciona una clase PdfMerger que se puede usar para fusionar archivos PDF. Si la biblioteca no está instalada, puede abrir un símbolo del sistema o terminal y usar el siguiente comando para instalarlo:

Código completo:

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

from PIL import Image
import os
from os.path import join
from pathlib import Path
from PyPDF2 import PdfMerger


path = "C:/Users/ypzhao/Desktop/word/"
path_convert = "C:/Users/ypzhao/Desktop/pict/"

for i in os.listdir(path):
    file_name,file_suffix = i.split(".")
    if file_suffix != "jpg":
        im = Image.open(path+f"{
      
      i}")
        im.save(path_convert+f"{
      
      file_name}"+".jpg")       
    else:
        pass   

def convert_to_pdf(file_path):
    # 打开图片文件
    img = Image.open(file_path)
    # 将图片转换为 PDF,并保存到同名文件
    pdf_path = os.path.splitext(file_path)[0] + ".pdf"
    img.save(pdf_path, "PDF", resolution=300.0)

def main():
    # 指定图片所在目录
    image_dir = Path("C:/Users/ypzhao/Desktop/pict/")
    # 遍历目录下的所有文件
    for file_path in image_dir.glob("*"):
        # 如果是图片文件,则转换为 PDF
        if file_path.suffix.lower() in (".jpg", ".jpeg", ".png", ".bmp"):
            convert_to_pdf(file_path)
    # 将所有 PDF 合并成一个文件
    merger = PdfMerger()
    for file_path in image_dir.glob("*.pdf"):
        merger.append(str(file_path))
    merger.write("output.pdf")

if __name__ == "__main__":
    main()

resultado de la operación:
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_58857684/article/details/130849482
Recomendado
Clasificación