如何把100多张图片转换成pdf

2023-05-12 14:57 综合百科 0阅读 投稿:小七

主要的思路:

1. 找出所有图片的路径并存储在列表中。

2. 创建一个PDF文档,并为每个A4纸创建一个页面。

3. 使用Pillow库的Image模块打开每个图片文件,调整大小以适合A4纸大小,将其复制到页上。

4. 如果当前页已满,则转到下一页,并重复第3步直到所有图片都添加到文档中。

5. 保存文档并完成。

以下是一些可能对此过程有用的Python代码:

```python

from PIL import Image

from fpdf import FPDF

import os# 获取所有图片的路径

folder = 'images_folder'

image_paths = [os.path.join(folder, f) for f in os.listdir(folder) if f.endswith('.jpg') or f.endswith('.png')]

print('Total images:', len(image_paths))

# 创建PDF文档

pdf = FPDF()

pdf.set_auto_page_break(0)

pdf.add_page()

page_width, page_height = pdf.w, pdf.h

current_x, current_y = 0, 0

# 循环所有图片

for i, path in enumerate(image_paths):

# 打开图片并调整大小

image = Image.open(path)

image.thumbnail((page_width/2, page_height/2))

# 把图片复制到PDF页上

x = current_x + (i%2)*(page_width/2)

y = current_y + (i//2)*page_height/2

pdf.image(path, x, y)

# 检查当前页是否已满

if i%4 == 3:

current_x, current_y = 0, current_y + page_height

if current_y > page_height*2:

pdf.add_page()

current_x, current_y = 0, 0

# 保存PDF文件

pdf.output('images.pdf', 'F')

```

请注意,此代码未经过全面测试,因此您可能需要根据自己的需求进行调整和修改。

声明:若水百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系youzivr@vip.qq.com