Python 3中如何将PDF第一页转为JPG/PNG?多种工具尝试未果
嘿,我太懂你折腾了好几个工具都碰壁的烦躁感!在Python 3里把PDF第一页转成JPG/PNG,我有两个亲测稳定靠谱的方案,咱们直接上干货:
方案一:用pdf2image(直观易上手,依赖Ghostscript)
之前你试Ghostscript和pdf2img失败,大概率是Ghostscript的环境没配置对,这个工具是pdf2image的核心依赖,得先搞定它:
- 先装Python库:
pip install pdf2image
安装并配置Ghostscript:
- Windows:去官网下载对应版本的安装包,安装后把
gs\gsxxx\bin路径(比如C:\Program Files\gs\gs9.55.0\bin)添加到系统环境变量里 - Mac:用Homebrew一键装:
brew install ghostscript - Linux:用包管理器装:
sudo apt-get install ghostscript
- Windows:去官网下载对应版本的安装包,安装后把
代码示例(只转第一页):
from pdf2image import convert_from_path # 转换PDF第一页,first_page和last_page都设为1就只处理第一页 pages = convert_from_path("你的PDF文件路径.pdf", first_page=1, last_page=1) # 保存为JPG,改后缀为.png就是PNG格式 pages[0].save("输出的图片.jpg", "JPEG")
如果还是报Ghostscript相关错误,试试手动指定Ghostscript路径:
pages = convert_from_path("你的PDF文件路径.pdf", first_page=1, last_page=1, gs=r"C:\Program Files\gs\gs9.55.0\bin\gswin64c.exe")
方案二:用PyMuPDF(fitz)(轻量省心,无复杂依赖)
这个库是纯Python实现的PDF处理工具,安装和使用都超简单,不用额外折腾Ghostscript的环境:
- 安装库:
pip install pymupdf
- 代码示例(转第一页):
import fitz # 导入PyMuPDF # 打开目标PDF文档 doc = fitz.open("你的PDF文件路径.pdf") # 获取第一页(注意索引从0开始,所以doc[0]就是第一页) page = doc[0] # 把页面转成图片,dpi参数可以调清晰度(数值越高越清晰,文件也越大) pix = page.get_pixmap(dpi=200) # 保存为JPG或PNG,直接改后缀就行 pix.save("输出的图片.png")
如果你的PDF是加密的,记得先加一行解密代码:doc.authenticate("你的PDF密码")
小提示
- 要是追求更高清晰度,可以把dpi调到300甚至更高,不过文件体积也会跟着变大
- 对比下来,PyMuPDF的处理速度更快,也更不容易出环境配置问题,优先推荐这个!
内容的提问来源于stack exchange,提问作者Paul Drogba




