python 将pdf文件转图片

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

有小伙伴问了怎么将 pdf文件转图片的问题,我百度了一波儿,搞了以下python代码给他封装成exe工具了。

中途打包踩了个坑,python进程池的问题,本地运行没啥问题,打包好的exe文件双击就会使电脑内存爆破卡死,重新开机才好。

准备工作:

  1. 安装PyMuPDF 直接 pip install PyMuPDF 即可
  2. 在代码当前路径创建一个名为pdf_dir的文件夹,用于存放要转换的pdf 文件

以下是代码实现,支持批量转换,可以放多个pdf文件

# -*- coding: UTF-8 -*-
import multiprocessing
from multiprocessing import Pool
# 安装fitz需要安装PyMuPDF才能使用
import fitz
import os
import time


tmp = 'pdf_dir'   #pdf路径

export_file = "导出文件"

os.makedirs(export_file, exist_ok=True)
pdf_dir = [i for i in os.listdir(tmp) if os.path.splitext(i)[-1] == ".pdf"]


def pdf_to_jpg(name):
    # 拼接pdf的文件路径
    pwd_name = os.path.join(tmp, name)
    print(pwd_name)
    doc = fitz.open(pwd_name)
    print(1111)
    # 将文件名同我们的保存路径拼接起来(保存图片的文件夹)
    dir_name = os.path.splitext(name)[0]
    pdf_name = os.path.join(export_file, dir_name)
    # print(pdf_name)
    temp = 0
    os.makedirs(pdf_name, exist_ok=True)
    for pg in range(doc.pageCount):
        page = doc[pg]
        temp += 1
        rotate = int(0)
        # 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
        zoom_x = 2.0
        zoom_y = 2.0
        trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
        pm = page.getPixmap(matrix=trans, alpha=False)

        pic_name = '{}.png'.format(temp)
        # 拼接生成pdf的文件路径
        pic_pwd = os.path.join(pdf_name, pic_name)
        print(pic_pwd)
        pm.writePNG(pic_pwd)


def main():
    pool = Pool(10)
    for i in pdf_dir:
        res = pool.apply_async(pdf_to_jpg, (i,))
    pool.close()
    pool.join()


if __name__ == '__main__':
    # 如果要打包成exe供别人使用,要加上下面这行,不然会爆破电脑内存,导致电脑卡死
    multiprocessing.freeze_support()
    st = time.time()
    main()
    end_time = time.time()
    print('总用时:%s'%(end_time-st))

比如我们放了一个pytorch.pdf的文件,直接运行代码
python 将pdf文件转图片,python,python,pdf

直接就成功了
python 将pdf文件转图片,python,python,pdf文章来源地址https://www.toymoban.com/news/detail-612969.html

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

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

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

相关文章

  • python | 将pdf文件转换为图片,这一招就够了

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

    2024年02月07日
    浏览(54)
  • python-自动化篇-办公-将PDF文件转存为图片

    因工作中的某些奇葩要求,需要将PDF文件的每页内容转存成按顺序编号的图片。用第三方软件或者在线转换也可以,但批量操作还是Python方便,所谓搞定办公自动化,Python出山,一统天下;Python出征,寸草不生~ O(∩_∩)O 不过这个需要用到 PyMuPDF 库,电脑运行cmd,输入“pip

    2024年02月19日
    浏览(59)
  • python 批量修改文件名(PDF、word、Excel、图片、视频等)

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

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

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

    2024年01月16日
    浏览(64)
  • python实现图片式PDF转可搜索word文档[OCR](已打包exe文件)

    目录  1、介绍 1.1、痛点 1.2、程序介绍 2、安装方式 2.1、🔺必要环节 2.2、脚本安装 2.2.1、不太推荐的方式 2.2.2、节约内存的方式 2.3、⭐完整版安装 3、使用 3.1、最终文件目录 3.2、主程序 3.2.1、绝对路径 3.2.2、是否为书籍 3.2.3、⭐截取区域 3.2.4、⭐进程数 3.3、运行完成 3.4、

    2024年01月19日
    浏览(78)
  • Python爬虫教程:使用requests、wget和urllib3下载图片和PDF文件

    本文介绍了如何使用Python中的requests、wget和urllib3库下载图片和PDF文件,通过示例代码演示了如何通过Selenium定位文件地址后,使用这三种方法进行文件下载操作。

    2024年02月09日
    浏览(73)
  • c#,将pdf文件转换成图片文件

    本文采用Adobe Acrobat9.0的COM组件,将Pdf文件的每一页转换成对应的图片文件。 开发环境:VS2010,.Net Framework4.0,Adobe Acrobat9.0。 工程中添加COM引用:Adobe Acrobat 9.0 Type Library(必须装了Adobe Acrobat9.0才会有)。 思路: 1)CAcroPDDoc:Acrobat文档对象。 2)CAcroPDPage:页对象。 3)CAcroR

    2024年02月04日
    浏览(44)
  • 前端实现pdf,图片,word文件预览

    需求:实现一个在线预览pdf、excel、word、图片等文件的功能。 介绍:支持pdf、xlsx、docx、jpg、png、jpeg。 以下使用Vue3代码实现所有功能,建议以下的预览文件标签可以在外层包裹一层弹窗。 iframe标签能够将另一个HTML页面嵌入到当前页面中,我们的图片也能够使用iframe标签来

    2024年02月11日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包