脚本:PDF文件批量转换成图片(python3)

这篇具有很好参考价值的文章主要介绍了脚本:PDF文件批量转换成图片(python3)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

语言

语言:python 3

用法

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

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

例如:

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

提供两种源码

源码1

第一种是在代码中手动添加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()

源码2

第二种是点击运行后,弹出窗口选择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()

Open Mind:more than one way to solve a problem

别人做好的网站:https://pdftoimage.com/文章来源地址https://www.toymoban.com/news/detail-679352.html

到了这里,关于脚本:PDF文件批量转换成图片(python3)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 批量修改文件名(PDF、word、Excel、图片、视频等)

          很多朋友遇到批量修改文件名的问题,网上各种搜,操作麻烦不说还有些需要付费。这里不多废话,直接上代码。 一、支持库 二、 定义函数 三、程序入口 四、运行,微云 下载:文件分享

    2024年01月23日
    浏览(65)
  • 如何批量将PDF转换为图片?

    在生活工作中,我们会处理很多电子合同。这些电子合同一般是PDF格式,不但存储空间大,且预览起来不太便捷,需要我们转换为图片格式更方便预览。如果人工一一处理比较繁琐复杂,有没有什么方案可以快速将pdf转换为图片呢? 当然可以。使用腾讯轻联结合EasyYun可以自

    2024年02月13日
    浏览(47)
  • python | 将pdf文件转换为图片,这一招就够了

    部分情况下,需要将 PDF 页面转换为图片,例如 PNG 或 JPEG 格式。 python 的开源库 pdfplumber,提供了将 pdf 文件转换为图片的方法。 如果之前还没有安装和使用过pdfplumber库,pdfplumber的安装及基础使用,可参考往期文章: pdfplumber安装、导入及基础使用方法 pdfplumber 提供的方法:

    2024年02月07日
    浏览(54)
  • 【工具分享】批量多目录图片如何转换PDF,一次性转换多级目录批量的PDF的转换,合并,输出另存等问题

     在工作中我们经常要对图片进行批量转换PDF,由于文件量比较多,目录比较深,工作量比较大比较耗时费力,今天我们分享的主要解决以下问题: 1、单张图片的转换PDF:一张图临时转一下 2、多张图片转换成PDF:多张图单独转成PDF 3、多级目录多张图转换成PDF:多级目录多

    2024年02月10日
    浏览(56)
  • 用python批量实现文件夹中所有pdf转成图片并插入到一个word文件中

    要实现这个任务,你需要使用Python的几个库: PyPDF2  用于处理PDF文件, python-docx  用于操作Word文件, PIL (或 Pillow )用于处理图片。 首先,确保你已经安装了这些库。如果没有,你可以使用pip来安装: bash复制代码 pip install PyPDF2 python-docx Pillow 接下来是Python脚本的示例代码

    2024年01月16日
    浏览(64)
  • vue:处理base64格式文件pdf、图片预览

    解释一下这段代码的功能: ) preview(item) 是一个函数,接受一个参数 item ,其中包含了文件的相关信息。 )首先,通过条件语句 if (item.type == \\\'pdf\\\') 检查文件类型是否为 \\\'pdf\\\'。 )如果文件类型是 \\\'pdf\\\',则执行以下操作: 使用 webAPI.server.get() 方法发送一个请求,请求的URL是通

    2024年01月18日
    浏览(96)
  • 20230507使用python3批量转换DOCX文档为TXT

    20230507使用python3批量转换DOCX文档为TXT 2023/5/7 20:22 WIN10使用python3.11 # – coding: gbk – import os from pdf2docx import Converter from win32com import client as wc \\\"\\\"\\\"这里需要安转包pywin32com\\\"\\\"\\\" # 读取pdf文件文本内容 def DocxToTxt(inputFinallyPath, outputFinallyPath):     wordhandle = wc.Dispatch(\\\"Word.Application\\\")    

    2024年02月13日
    浏览(46)
  • 前端将base64图片转换成file文件

    1、base64转成file具体代码 文件转换过程: 2、代码解析 ​ 该方法涉及知识点较多,首先因为base64的前缀信息部分与文件内容部分是通过 , 进行连接的, data:image/***;base64(前缀信息),xxxxx(文件内容) ,所以利用 split() 方法对base64进行分割,将前缀文件信息,与文件内容分隔开。得

    2024年01月20日
    浏览(56)
  • 【Python】Python 批量转换PDF到Excel

    PDF是面向展示和打印使用的,并未考虑编辑使用,所以缺少了很多编辑属性且非常难修改PDF里面的数据。当您需要分析或修改PDF文档数据时,可以将PDF保存为Excel工作簿,实现轻松编辑数据的需求。PDF转Excel,技术关键就是提取原文档内的表格数据,保证转换前后数据的一致性

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包