图像转pdf (python)

发布于:2024-03-20 ⋅ 阅读:(107) ⋅ 点赞:(0)

img2pdf包:https://github.com/josch/img2pdf

pip install img2pdf

img2pdf是一个用于将光栅图像无损转换为PDF格式的工具包。使用img2pdf时,优先事项按顺序应为:始终无损:嵌入PDF中的图像将始终具有与输入的每个像素相同的颜色信息;文件较小:如果可能的话,输入图像和输出PDF之间的文件大小差异将仅为PDF容器本身的开销。

先创建一个文件夹保存压缩后的图片

图片转pdf

import os
import img2pdf
from PIL import Image
from tqdm import tqdm

# 指定目录路径
directory = r'xxx'
result_directory = './pdf_resized'
# 获取目录下所有图片文件名
image_files = [os.path.join(directory, f) for f in os.listdir(directory) if f.endswith('.jpg') or f.endswith('.png')]

# 按照文件名排序
image_files.sort()

compression_ratio = 1/2
# 压缩图片并收集数据
for img_file in tqdm(image_files):
	img_path = os.path.join(directory, img_file)
	result_path = os.path.join(result_directory, os.path.basename(img_file))
	img = Image.open(img_path)

	# 计算新的尺寸
	new_size = (int(img.width * compression_ratio), int(img.height * compression_ratio))
	img = img.resize(new_size)
	img.save(result_path)

# 获取目录下所有图片文件名
result_image_files = [os.path.join(result_directory , f) for f in os.listdir(directory) if f.endswith('.jpg') or f.endswith('.png')]


with open("result.pdf","wb") as f:
	f.write(img2pdf.convert(result_image_files))

print('end')
本文含有隐藏内容,请 开通VIP 后查看

网站公告


今日签到

点亮在社区的每一天
去签到