qt中mat图片如何对比相同_python PDF转成图片小程序

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

7b97561199e190a61cc1ea18e0bfc111.png

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

c82faa9bee9ec4b1af409a1b336f04aa.gif

使用方法

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

ee3982a08b9307f9dc87f51e324530c8.png

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

ae2e6b7b95d0a205e24a06acf7daffdd.png

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

27c225fac5ba877d0321401f27a5d090.gif

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

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

17bfa698e7706fc5e2316e632d78071d.gif

bb1445401237296c6a09246336b77860.png

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

5.帮助文件。

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

604aa2a1ecbb8bf17a336d16412e41ee.png

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

c82faa9bee9ec4b1af409a1b336f04aa.gif

工作原理

以下代码为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安全卫士。

陪你一起走过

春夏秋冬

315f345b91d79160e435f0e401406099.png bbabe7371ca886b1d661242bae5bcc8d.png

 座椅检测知多少

乘用车|商用车|工程机械空·

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值