python PDF转成图片小程序
你有没有遇到过这样一个需求:把一批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、……
对于一般的小文件,一般几秒钟的时间就够了,对于一些比较大的PDF文件可能需要耗时几十秒。为此专门在主界面设置了一个文本框用于显示程序运行耗时,单位为s(秒)。
如下我们进行一个压力测试:把PDF格式电子书全部页码转换为图片。PDF文件总共368页,执行程序耗时66.625s,还是很快的!
4.调整生成图片的清晰度。
PDF文件一般像素都不太高,因此转换后的图片有可能会很不清晰。针对这种情况可以拖动主界面上的滚动条以调整图片清晰度,数值越大,生成的图片越清晰,相应的图片占用空间也越大。程序默认的调整范围为1-10,默认的值是2,用户可以根据自己的需求自行调整哈!(鼠标按住左键,拖动即可!)
(对比图,效果差异还是很大的!)
5.帮助文件。
在主界面左上角点击帮助,或者在主界面任意位置单击右键均会弹出帮助菜单,单击对应选项可以查看对应的内容。
好像也就这些内容了。如果想了解程序原理的可以参考下面这个代码。
以下代码为python原始代码,可以在python中运行。代码中不包括GUI内容。
def pdf2png(pdf_path, scale): pdf_files = glob.glob(pdf_path "\*.pdf") for pdf_file in pdf_files: folder_name = pdf_file.split("\\")[-1].split(".")[0] pdf_read = fitz.open(pdf_file) for pg in range(pdf_read.pageCount): 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) pix.writeImage(pdf_path "\\" folder_name "\\{}.png".format(str(pg 1)))if __name__ == "__main__": pdf_path = r"C:\Pythonwork\pdf2png\out"
小程序及原始代码下载地址:
链接:https://pan.baidu.com/s/1ZEWbsKwFTxGLE7_xR2rELQ
程序已经编译成.exe文件,可以独立运行在windows平台上。程序运行时可能会被360安全卫士截杀,可以把小程序加入360白名单或者退出360安全卫士。【免责声明】本文经授权转自座椅检测知多少(ID:seattest),版权归原作者所有,仅用于学习!对文中观点判断均保持中立,若您认为文中来源标注与事实不符,若有涉及版权等请告知,将及时修订删除,谢谢大家的关注!
硕士
|
CAE仿真负责人
个人著作《汽车NVH一本通》
获赞 1137粉丝 5971文章 921课程 20