Python 批量 PDF 转换为图片 - 使用 PyPDF2 和 Pillow
要实现 Python 的 PDF 批量转换为图片,可以使用 PyPDF2 库和 Pillow 库。
首先,确保已经安装了 PyPDF2 和 Pillow 库。可以使用以下命令进行安装:
pip install PyPDF2
pip install Pillow
接下来,可以使用以下代码批量实现 PDF 转换为图片:
import os
from PyPDF2 import PdfFileReader
from PIL import Image
def pdf_to_images(input_path, output_path):
# 打开 PDF 文件
with open(input_path, 'rb') as file:
pdf = PdfFileReader(file)
# 逐页转换为图片
for page_num in range(pdf.numPages):
page = pdf.getPage(page_num)
# 将 PDF 页面转换为 PIL 图像
image = page.to_image()
# 保存图像为文件
image.save(os.path.join(output_path, f'page_{page_num}.png'))
# 批量转换 PDF 文件夹中的所有 PDF 文件
def batch_convert(input_folder, output_folder):
# 遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):
if filename.endswith('.pdf'):
# 构建输入和输出文件路径
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, os.path.splitext(filename)[0])
# 创建输出文件夹
os.makedirs(output_path, exist_ok=True)
# 调用 pdf_to_images 函数进行转换
pdf_to_images(input_path, output_path)
# 示例用法
input_folder = 'input_folder' # 输入文件夹路径
output_folder = 'output_folder' # 输出文件夹路径
batch_convert(input_folder, output_folder)
在上面的代码中,pdf_to_images 函数负责将单个 PDF 文件转换为多个图像文件。batch_convert 函数负责遍历输入文件夹中的所有 PDF 文件,并调用 pdf_to_images 函数进行转换。输入和输出文件夹路径可以根据实际情况进行修改。
请确保输入文件夹中只包含 PDF 文件,输出文件夹路径必须是一个不存在的文件夹路径,否则可能会出现错误。
原文地址: https://www.cveoy.top/t/topic/pla9 著作权归作者所有。请勿转载和采集!