You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python 3中如何将PDF第一页转为JPG/PNG?多种工具尝试未果

嘿,我太懂你折腾了好几个工具都碰壁的烦躁感!在Python 3里把PDF第一页转成JPG/PNG,我有两个亲测稳定靠谱的方案,咱们直接上干货:

方案一:用pdf2image(直观易上手,依赖Ghostscript)

之前你试Ghostscript和pdf2img失败,大概率是Ghostscript的环境没配置对,这个工具是pdf2image的核心依赖,得先搞定它:

  1. 先装Python库:
pip install pdf2image
  1. 安装并配置Ghostscript:

    • Windows:去官网下载对应版本的安装包,安装后把gs\gsxxx\bin路径(比如C:\Program Files\gs\gs9.55.0\bin)添加到系统环境变量里
    • Mac:用Homebrew一键装:brew install ghostscript
    • Linux:用包管理器装:sudo apt-get install ghostscript
  2. 代码示例(只转第一页):

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的环境:

  1. 安装库:
pip install pymupdf
  1. 代码示例(转第一页):
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

火山引擎 最新活动