首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用python把pdf转成jpeg图片

用python把pdf转成jpeg图片

作者头像
ExASIC
发布2025-11-21 17:41:28
发布2025-11-21 17:41:28
30
举报
文章被收录于专栏:ExASICExASIC

记录一下用python pdf2image把pdf转成jpeg图片的方法。

尝试过PyMuPDF,但在linux环境下安装失败。改用pdf2image,成功了,下面记录一下。

一、安装插件

首先安装poppler-utils(https://poppler.freedesktop.org)。poppler-utils是pdf处理的命令行工具集,其中包括了pdf转图片的功能。

再安装python插件pdf2image。

代码语言:javascript
复制
yum install poppler-utils
pip3 install pdf2image

二、转换函数convert_from_path

convert_from_path是最常用的转换函数,pdf_path指定pdf的路径和文件名,first_pagelast_page指定要转换图片的pdf页码范围。这个函数的返回值是pdf每页转成PIL Image的列表。最后用PIL Image的save()保存图片。

代码语言:javascript
复制
convert_from_path(
    pdf_path, # pdf文件
    dpi=200,
    output_folder=None, # 图片输出到指定目录  
    first_page=None, # pdf转图片的起始页  
    last_page=None, # pdf转图片的结束页  
    fmt='ppm',  
    jpegopt=None,  
    thread_count=1,  
    userpw=None,  
    use_cropbox=False,  
    strict=False,  
    transparent=False,  
    single_file=False,  
    output_file=str(uuid.uuid4()),  
    poppler_path=None,  
    grayscale=False,  
    size=None,  
    paths_only=False,  
    use_pdftocairo=False,  
    timeout=600,  
    hide_attributes=False
)

三、一个例子

下面是一个例子,把当前目录下所有的pdf文件的第三页转成图片。

代码语言:javascript
复制
#!/usr/bin/python3

import os
import re
from pdf2image import convert_from_path

# 转换pdf的前三页为jpeg图片
def convert_pdf2image(pdf_path):
    pdf_file_name = pdf_path[:-4]  
    images = convert_from_path(
        pdf_path, 
        first_page=0, # 开始页
        last_page=3, # 结束页
        fmt='jpeg')
    print(len(images))
    for i, image in enumerate(images):
        image.save(f"{pdf_file_name}_pdf2image_{i}.jpg",'JPEG')
        
# 对当前目录下所有的pdf文件都进行转换
for f in os.listdir("."):
    if re.search(r'.*\.pdf', f):
        convert_pdf2image(f)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ExASIC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档