You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复使用pdf2image时出现的PDFPageCountError错误?

解决pdf2image抛出PDFPageCountError(无法打开PDF文件)的问题

你的代码:

from pdf2image import convert_from_path

images = convert_from_path('sample.pdf', 500, poppler_path=r'C:\Program Files\poppler-24.07.0\Library\bin')

for i in range(len(images)):
    images[i].save('page' + str(i) + '.jpg', 'JPEG')

运行时报错:

pdf2image.exceptions.PDFPageCountError: Unable to get page count.
I/O Error: Couldn't open file 'sample.pdf': No error.

以下是具体排查和解决步骤:

  • 确认PDF文件路径正确性
    用相对路径'sample.pdf'时,必须保证PDF文件和你的Python脚本在同一个目录下。不确定的话,先打印当前工作目录验证:

    import os
    print(os.getcwd())
    

    如果PDF不在当前目录,直接使用绝对路径,比如r'C:\Users\你的用户名\Desktop\sample.pdf'。更稳妥的写法是通过脚本路径拼接PDF路径,避免路径问题:

    script_dir = os.path.dirname(os.path.abspath(__file__))
    pdf_path = os.path.join(script_dir, 'sample.pdf')
    
  • 检查PDF文件是否损坏
    手动打开sample.pdf,确认文件能正常读取。如果文件本身损坏,换一个正常的PDF文件测试。

  • 验证poppler工具可用性
    打开命令提示符,执行以下命令(替换为你的poppler路径和PDF路径):

    "C:\Program Files\poppler-24.07.0\Library\bin\pdfinfo.exe" "C:\你的PDF文件路径\sample.pdf"
    

    如果能正常输出PDF的页码、大小等信息,说明poppler配置没问题;如果报错,检查poppler安装包是否完整,bin目录下是否有pdfinfo.exe和pdftocairo.exe这两个关键工具。

  • 排查权限问题
    避免将PDF文件放在Windows受保护目录(如C:\Windows、C:\Program Files),这类目录可能限制程序读取权限。把PDF移到桌面、文档等普通目录再测试。

修改后的示例代码:

from pdf2image import convert_from_path
import os

script_dir = os.path.dirname(os.path.abspath(__file__))
pdf_path = os.path.join(script_dir, 'sample.pdf')

images = convert_from_path(pdf_path, 500, poppler_path=r'C:\Program Files\poppler-24.07.0\Library\bin')

for idx, image in enumerate(images):
    image.save(f'page{idx}.jpg', 'JPEG')

内容的提问来源于stack exchange,提问作者Keeton Matthews

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:02:45