使用 Python 将 PDF 拆分为图片
使用 Python 将 PDF 拆分为图片
在日常工作或学习中,我们经常需要将 PDF 文档转换成图片格式,方便展示、标注或者发布到网页上。这里介绍一种基于 Python + pdf2image + poppler 的方法,可以轻松将 PDF 按页拆分成 PNG 图片。
一、环境准备
-
安装 Python 库
pip install pdf2image pip install pillow
-
下载 Poppler
pdf2image
依赖 Poppler 工具来进行 PDF 渲染。-
Windows 用户可以从 poppler-windows 下载压缩包。
-
解压后记住
bin
目录路径,例如:D:\tools\poppler-24.08.0\Library\bin
-
二、示例代码
import os
from pdf2image import convert_from_path# 输入文件和输出目录
pdf_file = "input.pdf"
output_dir = "output_images"
os.makedirs(output_dir, exist_ok=True)# 指定 Poppler 的 bin 路径
poppler_path = r"D:\tools\poppler-24.08.0\Library\bin"# 将 PDF 转换为图片
images = convert_from_path(pdf_file, poppler_path=poppler_path)# 遍历保存
for i, img in enumerate(images, start=1):img.save(os.path.join(output_dir, f"2c_{i}.png"), "PNG")print(f"共 {len(images)} 页,已保存到 {output_dir}")
三、运行效果
运行脚本后,会自动创建一个 output_images
文件夹,每一页 PDF 会被保存为独立的 PNG 文件:
output_images/
├── 2c_1.png
├── 2c_2.png
├── 2c_3.png
...
例如,一个 10 页的 PDF 会生成 10 张对应的图片。
四、总结
pdf2image
是 Python 中非常实用的 PDF 转换库,结合 Poppler 可以实现高质量的渲染。- 本文展示了一个 从 PDF 批量导出 PNG 图片 的完整流程。
- 如果需要进一步优化(比如指定分辨率、输出格式、指定页码范围),
convert_from_path
还提供了丰富的参数,可以根据需求调整。