图像转pdf (python)

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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值