吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4834|回复: 12
收起左侧

[Python 转载] 批量把PDF文件文件转换成图片格式

[复制链接]
yuwhich 发表于 2020-9-11 13:26
工作中可能有这样的需求,需要批量把PDF文件文件转换成图片。使用下面的py文件,可以批量进行转换。查找当前py文件夹内的所有的pdf文件,执行pdf转png格式,新生成的png文件保留源文件的文件名.如果PDF有多页,图片名后加序号。
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-

"""

1、安装库 pip install pymupdf

2、直接运行

"""
import os
import fitz

pdf_dir=[]

def get_file():
    docunames = os.listdir()
    for docuname in docunames:
        if os.path.splitext(docuname)[1] == '.pdf':#目录下包含.pdf的文件
            pdf_dir.append(docuname)
            
def conver_img():
    for pdf in pdf_dir:
        doc = fitz.open(pdf)
        pdf_name = os.path.splitext(pdf)[0]
        for pg in range(doc.pageCount):
            page = doc[pg]
            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)
            pm.writePNG('%s.png' % pdf_name)
            
if __name__ == '__main__':
    get_file()
    conver_img()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| yuwhich 发表于 2020-9-28 14:09
fineconey 发表于 2020-9-22 22:44
[mw_shl_code=python,true]mupdf: cannot open ACEMATT_3400.pdf: No such file or directory
Traceback ( ...

可能需要你下载并安装 pymupdf. 好像pip install的方式不能正常使用.
https://github.com/pymupdf/PyMuPDF/releases

需要匹配你的操作系统的版本.报错截图看你的python是3.8的.

windows系统是64位选这个文件名下载
PyMuPDF-1.17.7-cp38-cp38-win_amd64.whl

windows系统是32位选这个文件名下载
PyMuPDF-1.17.7-cp38-cp38-win32.whl

安装完以后在运行一次.


if __name__ == '__main__':
    get_file()
    conver_img()
这里get_file()不用指定路径的,会自动查找跟py文件,在同一文件名下的文件夹里的所有pdf文件.
生成的图片文件,也会放到同一目录里.
如果你要指定路径,就要传参.
firefox1234 发表于 2020-9-12 00:13
渭水之洲 发表于 2020-9-14 11:27
 楼主| yuwhich 发表于 2020-9-14 13:28
渭水之洲 发表于 2020-9-14 11:27
这个需要咋操作,小白一个

1,安装Python,然后打开cmd,运行pip install pymupdf 。
2,在PDF文件夹里,新建一个pdf2png.py文件,然后复制上面的代码,保存。
3,然后打开cmd,运行这个文件。比如在cmd中输入 python "D:\data\pdf2png.py" 他会自动找当前py文件所在的文件夹里的pdf文件,然后把他们转成png文件。
渭水之洲 发表于 2020-9-14 15:30
yuwhich 发表于 2020-9-14 13:28
1,安装Python,然后打开cmd,运行pip install pymupdf 。
2,在PDF文件夹里,新建一个pdf2png.py文件, ...

多谢大佬
mikeee 发表于 2020-9-15 00:48
changkui21 发表于 2020-9-15 08:47
WPS可以转
天下武功 发表于 2020-9-15 16:32
Adobe Acrobat DC
fineconey 发表于 2020-9-22 22:44
[Python] 纯文本查看 复制代码
mupdf: cannot open ACEMATT_3400.pdf: No such file or directory
Traceback (most recent call last):
  File "E:/PythonFiles/实用/PDF转图片.py", line 42, in <module>
    conver_img()
  File "E:/PythonFiles/实用/PDF转图片.py", line 27, in conver_img
    doc = fitz.open(pdf)
  File "D:\Python38\lib\site-packages\fitz\fitz.py", line 3009, in __init__
    _fitz.Document_swiginit(self, _fitz.new_Document(filename, stream, filetype, rect, width, height, fontsize))
RuntimeError: cannot open ACEMATT_3400.pdf: No such file or directory


老大,这个是什么意思。我添加了pdf所在的路径
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 01:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表