from pdf2image import convert_from_path
from PIL import Image
# 逐页保存
images = convert_from_path("pic.pdf", dpi=300)
for i, img in enumerate(images, 1):
img.save(f"pic_{i}_300dpi.jpg", dpi=(300, 300), quality=95)
# 合成一张长图
total_height = sum(im.height for im in images)
max_width = max(im.width for im in images)
long_img = Image.new("RGB", (max_width, total_height))
y_offset = 0
for im in images:
long_img.paste(im, (0, y_offset))
y_offset += im.height
long_img.save("pic_long_300dpi.jpg", dpi=(300, 300), quality=95)