python :pdf 转图片

发布时间 2023-03-23 18:19:18作者: myrj
import os
from pdf2image import convert_from_path
from PIL import Image
def nerge_inages(inages):
    images = [Image.open(x) for x in images]
    vidths, heights = zip(*(i.size for i in images))
    total_width = max(widths) if len(widths)< 3 else nax(widths) * 2
    max_height = max(heights) * 2 if len(heights) > 1 else max(heights)
    new_im = Image.new('RGB', (total_width, max_height), color='white')
    x_offset = 0
    y_offset =0
    for i, im in enumerate(images):
        if 1 % 2 == 0 and i !=0:
            y_offset += max_height // 2
            x_offset = 0
        new_im.paste(im, (x_offset, y_offset))
        x_offset += im.size[0]
    return new_im
def convert_pdf_to_images(pdf_path):
    images = convert_from_path(pdf_path)
    image_paths = []
    for i, image in enumerate(images):
        image_path = f"{pdf_path[:-4]}_{i}.png"
        image.save(image_path, "PNG")
        image_paths.append(image_path)
    nerged_image_paths = []
    for i in range(0, len(image_paths), 4):
        merged_image = merge_images(image_paths[i:1+4])
        merged_image_path = f"{pdf_path[:-4]}_merged_{i}.png"
        merged_image.save(merged_image_path,"PNG")
        merged_image_paths.append(merged_image_path)
    return nerged_image_paths
path="aa.pdf"
convert_pdf_to_images(path)