python批量将PDF文件转换成图片的实现代码

 更新时间:2023年08月25日 08:52:25   作者:谷雨之际  
这篇文章使用python编写了一个小脚本,目的是为了实现批量将PDF文件转换成图片,文中有详细的实现代码,对我们的学习或工作有一定的帮助,感兴趣的小伙伴可以参考阅读一下

语言:python 3

用法:选择PDF文件所在的目录,点击 确定 后,自动将该目录下的所有PDF转换成单个图片,图片名称为:   pdf文件名.page_序号.jpg

如运行中报错,需要自行根据报错内容按照缺失的库

例如:

#安装库
pip install pyautogui
#安装库
pip install  pillow

这里提供两种源码,第一种是在代码中手动添加pdf所在目录

import os
import glob
from PyPDF2 import PdfReader
from pdf2image import convert_from_path
pdf_dir = "path/to/pdf_dir/"  #pdf目录
# 遍历目录中的PDF文件
pdf_files = glob.glob(os.path.join(pdf_dir, "*.pdf"))
# 遍历每个PDF文件,并将其转换为图片
for pdf_file in pdf_files:
    # 创建PdfReader对象
    pdf = open(pdf_file, 'rb')
    pdf_reader = PdfReader(pdf)
    # 遍历PDF的页面并将其转换为图片
    for page_num in range(len(pdf_reader.pages)):
        # 获取页面对象
        page = pdf_reader.pages[page_num]
        # 将PDF页面转换为图像
        images = convert_from_path(pdf_file, first_page=page_num+1, last_page=page_num+1)
        # 定义图像保存路径
        filename = os.path.splitext(os.path.basename(pdf_file))[0]
        image_path = os.path.join(pdf_dir, f"{filename}_page_{page_num+1}.jpg")
        # 保存图像
        for i, image in enumerate(images):
            if i == 0:
                image.save(image_path, "JPEG")
            else:
                image_path = os.path.join(pdf_dir, f"{filename}_page_{page_num+1}_{i+1}.jpg")
                image.save(image_path, "JPEG")
    # 关闭PDF文件
    pdf.close()

第二种是点击运行后,弹出窗口选择PDF所在文件夹,程序运行对该文件夹下的所有PDF文件转换成图片

#手动选择目录下的pdf文件
import os
from tkinter import Tk
from tkinter.filedialog import askdirectory
from PyPDF2 import PdfReader
from pdf2image import convert_from_path
# 打开选择目录的对话框
Tk().withdraw()  # 隐藏Tkinter根窗口
pdf_dir = askdirectory(title="选择PDF所在目录")
# 遍历目录中的PDF文件
pdf_files = [f for f in os.listdir(pdf_dir) if f.endswith(".pdf")]
# 遍历每个PDF文件,并将其转换为图片
for pdf_file in pdf_files:
    # 创建PdfReader对象
    pdf_path = os.path.join(pdf_dir, pdf_file)
    pdf = open(pdf_path, 'rb')
    pdf_reader = PdfReader(pdf)
    # 遍历PDF的页面并将其转换为图片
    for page_num in range(len(pdf_reader.pages)):
        # 获取页面对象
        page = pdf_reader.pages[page_num]
        # 将PDF页面转换为图像
        images = convert_from_path(pdf_path, first_page=page_num+1, last_page=page_num+1)
        # 定义图像保存路径
        filename = os.path.splitext(pdf_file)[0]
        image_path = os.path.join(pdf_dir, f"{filename}_page_{page_num+1}.jpg")
        # 保存图像
        for i, image in enumerate(images):
            if i == 0:
                image.save(image_path, "JPEG")
            else:
                image_path = os.path.join(pdf_dir, f"{filename}_page_{page_num+1}_{i+1}.jpg")
                image.save(image_path, "JPEG")
    # 关闭PDF文件
    pdf.close()

到此这篇关于python批量将PDF文件转换成图片的实现代码的文章就介绍到这了,更多相关python将PDF文件转换成图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python3实现统计大量单词中各字母出现的次数和频率的方法

    利用Python3实现统计大量单词中各字母出现的次数和频率的方法

    这篇文章主要介绍了利用Python3实现统计大量单词中各字母出现的次数和频率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Python实现方便使用的级联进度信息实例

    Python实现方便使用的级联进度信息实例

    这篇文章主要介绍了Python实现方便使用的级联进度信息,实例分析了Python显示级联进度信息的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-05-05
  • 对numpy中array和asarray的区别详解

    对numpy中array和asarray的区别详解

    下面小编就为大家分享一篇对numpy中array和asarray的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python 生成图形验证码的方法示例

    python 生成图形验证码的方法示例

    日常在网站使用过程中经常遇到图形验证,这篇文章主要介绍了python 生成图形验证码的方法示例,非常具有实用价值,需要的朋友可以参考下
    2018-11-11
  • AUC计算方法与Python实现代码

    AUC计算方法与Python实现代码

    今天小编就为大家分享一篇AUC计算方法与Python实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python获取Linux发行版名称

    python获取Linux发行版名称

    这篇文章主要介绍了python获取Linux发行版名称的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python如何求100以内的素数

    python如何求100以内的素数

    在本篇文章里小编给大家分享的是关于python如何求100以内的素数的方法实例,需要的朋友们可以学习下。
    2020-05-05
  • pyqt实现.ui文件批量转换为对应.py文件脚本

    pyqt实现.ui文件批量转换为对应.py文件脚本

    今天小编就为大家分享一篇pyqt实现.ui文件批量转换为对应.py文件脚本,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python读取txt文件并取其某一列数据的示例

    python读取txt文件并取其某一列数据的示例

    今天小编就为大家分享一篇python读取txt文件并取其某一列数据的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • pytorch+torchvision+python版本对应及环境安装

    pytorch+torchvision+python版本对应及环境安装

    本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,以确保与PyTorch兼容,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03

最新评论