首页/文章/ 详情

python PDF转成图片小程序

3年前浏览1653
你有没有遇到过这样一个需求:把一批PDF文件转存成图片,或者说把某一个文件夹内所有的pdf文件都转换成图片


PDF文件转存成图片格式有很多种方法,可以使用PDF编辑器或者上传到专门转格式的网站上。但是这样做有以下几个问题:
(a)收费。有些网站只能免费转5张,其余的就要收费了。
(b)效率低。如果你只想转存1-2个PDF文件,手动操作一下没得问题。如果现在有100份PDF文件需要处理,是不是想要站起来骂N了。
别担心,看了本文你就不会再有这个烦恼了。
当当当当,我已经编好了一个小程序,可以在文末的链接中自行下载使用啦!在桌面双击图标打开就可以使用,和其他软件的使用方法一样哦!软件大小仅12Mb,还是非常小巧的!


图片

(这个界面不要嫌丑,咱们要的是实用)




图片

使用方法





1.单击“读入pdf存放文件夹”按钮,选择一个存放待处理PDF文件的文件夹。
选择好文件夹后,程序会自动读入此文件夹内的所有pdf格式的文件,并显示在小程序左边空白区域。程序中添加了筛选代码,非pdf格式的文件是不会读取进来的哦。文件夹的路径会显示在右上方空白文本框内。


图片


2.单击“设置png图片保存位置”按钮,选择生成png图片的保存位置。
程序会自动在此文件夹下以PDF文件的名称创建一个文件夹用来存放生成的图片。图片以PDF文件页面顺序依次命名为1、2、3、4、……


图片


3.显示程序运行时间。
对于一般的小文件,一般几秒钟的时间就够了,对于一些比较大的PDF文件可能需要耗时几十秒。为此专门在主界面设置了一个文本框用于显示程序运行耗时,单位为s(秒)。
如下我们进行一个压力测试:把PDF格式电子书全部页码转换为图片。PDF文件总共368页,执行程序耗时66.625s,还是很快的!


图片

4.调整生成图片的清晰度。


PDF文件一般像素都不太高,因此转换后的图片有可能会很不清晰。针对这种情况可以拖动主界面上的滚动条以调整图片清晰度,数值越大,生成的图片越清晰,相应的图片占用空间也越大。
程序默认的调整范围为1-10,默认的值是2,用户可以根据自己的需求自行调整哈!(鼠标按住左键,拖动即可!)


图片

图片


(对比图,效果差异还是很大的!)

5.帮助文件。


主界面左上角点击帮助,或者在主界面任意位置单击右键均会弹出帮助菜单,单击对应选项可以查看对应的内容。


图片

好像也就这些内容了。如果想了解程序原理的可以参考下面这个代码。



图片

工作原理




以下代码为python原始代码,可以在python中运行。代码中不包括GUI内容。


import fitz
import glob
import os
 
 
def pdf2png(pdf_path, scale):
    #获取路径中所有pdf文件名
   pdf_files = glob.glob(pdf_path   "\*.pdf")
   for pdf_file in pdf_files:
       # 获得pdf文件名
       folder_name = pdf_file.split("\\")[-1].split(".")[0]
       # 读取pdf文件
       pdf_read = fitz.open(pdf_file)
       for pg in range(pdf_read.pageCount):
           # 读取页面信息
           page = pdf_read[pg]
           # 增强图片分辨率
           mat = fitz.Matrix(scale, scale)  #(水平,竖直)方向
           pix = page.getPixmap(matrix=mat)
           # 如果不存在以pdf名称命名的文件夹,就新建一个
           if not os.path.exists(pdf_path   "\\"   folder_name):
                os.makedirs(pdf_path  "\\"   folder_name)
           # 按照pdf中页面顺序保存图片
           pix.writeImage(pdf_path   "\\"   folder_name  "\\{}.png".format(str(pg   1)))
 
 
if __name__ == "__main__":
    #pdf文件存放的文件夹
   pdf_path = r"C:\Pythonwork\pdf2png\out"
    #增强图片分辨率,数值越大分辨率越高
   scale = 2
   pdf2png(pdf_path, scale)


小程序及原始代码下载地址:


链接:https://pan.baidu.com/s/1ZEWbsKwFTxGLE7_xR2rELQ
提取码:cziu


程序已经编译成.exe文件,可以独立运行在windows平台上。程序运行时可能会被360安全卫士截杀,可以把小程序加入360白名单或者退出360安全卫士。【免责声明】本文经授权转自座椅检测知多少(ID:seattest),版权归原作者所有,仅用于学习!对文中观点判断均保持中立,若您认为文中来源标注与事实不符,若有涉及版权等请告知,将及时修订删除,谢谢大家的关注!


新能源汽车振动静力学结构基础
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-07-16
最近编辑:3年前
CAE之家
硕士 | CAE仿真负责人 个人著作《汽车NVH一本通》
获赞 1128粉丝 5855文章 911课程 19
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈