使用python做一个pdf转图片的可执行exe程序
使用python做一个pdf转图片的可执行exe
1.安装环境
python3
模块:PymuPDF,pyinstaller
import fitz
import os
import tkinterdef pyMuPDF_fitz(pdfPath, imagePath, img_type='jpg'):"""pdf转图片:param pdfPath: pdf绝对路径:param imagePath: 转化为图片的目录-绝对路径:param img_type: 图片类型,默认jpg"""pdfDoc = fitz.open(pdfPath)for pg in range(pdfDoc.pageCount):page = pdfDoc[pg]rotate = int(0)zoom_x = 5 zoom_y = 5mat = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate) #设置图片大小倾斜pix = page.get_pixmap(matrix=mat, alpha=False)if not os.path.exists(imagePath): # 判断存放图片的文件夹是否存在os.makedirs(imagePath) # 若图片文件夹不存在就创建pix.save(imagePath + '/' + 'images_%s.%s' % (pg, img_type)) # 将图片写入指定的文件夹内"""
以下gui代码
"""
def covert_format(pdfPath, imagePath, img_format, text3):"""点击确定调用函数先清空Text输入框再写入"""if not os.path.isfile(pdfPath):text3.delete(1.0, tkinter.END)text3.insert('insert', 'pdf文件不存在,需重新输入')elif not os.path.exists(imagePath):text3.delete(1.0, tkinter.END)text3.insert('insert', '图片路径不存在,需重新输入')else:try:pyMuPDF_fitz(pdfPath, imagePath, img_format)text3.delete(1.0, tkinter.END)text3.insert('insert', '成功')# text.insert(index,string) index = x.y的形式,x表示行,y表示列print('成功')except:print('失败,请重新再来')text3.delete(1.0, tkinter.END)text3.insert('insert', '失败,请重新再来')def PdfGui():"""gui界面"""window = tkinter.Tk()window.title('Pdf转图片')window.geometry('700x400')# 单选框框架frame_radio = tkinter.Frame(window, height=6)frame_radio.grid(row=5, column=0, ipadx=50, ipady=10, padx=20)img_type = tkinter.StringVar()img_type.set('jpg')img_types = [('jpg', 'jpg'), ('png', 'png'), ('jpeg', 'jpeg'), ('tiff', 'tiff'), ('gif', 'gif')]for text, value in img_types:radio = tkinter.Radiobutton(frame_radio, text=text, value=value, variable=img_type)column = img_types.index((text, value))radio.grid(row=0, column=column)# 单选框结束# 输入框框架frame_label = tkinter.Frame(window)frame_label.grid(row=7, column=0, ipadx=50, ipady=10, padx=20)label1 = tkinter.Label(frame_label, text='输入pdf路径:', font=(None, 16)) # width,height,bglabel2 = tkinter.Label(frame_label, text='输入img路径:', font=(None, 16))label1.grid(row=7, column=0, sticky=tkinter.SE)label2.grid(row=8, column=0, sticky=tkinter.SE)text1 = tkinter.Entry(frame_label, show=None, width=55, borderwidth=2, relief=tkinter.GROOVE, bd=2)# bd边框 relief边框格式 width框长度text2 = tkinter.Entry(frame_label, show=None, width=55, borderwidth=2, relief=tkinter.GROOVE, bd=2)text1.grid(row=7, column=1, pady=2, ipadx=3, ipady=2)# row,column行列 padx,pady框外样式内 ipadx,ipady框内text2.grid(row=8, column=1, pady=2, ipadx=3, ipady=2)button1 = tkinter.Button(frame_label, text='确定', font=(None, 19),command=lambda: covert_format(text1.get(), text2.get(), img_type.get(), text3))button1.grid(column=1)# 输入框结束text3 = tkinter.Text(window, height=2)text3.grid()window.mainloop()PdfGui()
运行起来样子
输入pdf路径点击确定会判断是否是一个文件,不是会提示错误,
输入img路径点击确定会判断是否存在这个目录,不是会提示错误。
注意:所有的路径前面不能带有空格,这个没做优化,可以自行加
2.打包成exe可执行文件
接下来使用pyinstaller打包成一个可执行exe文件,方便使用还可以在其他没有python环境的window上直接运行
pyinstaller -n pdfto_img -F -i test.ico test.py --noconsole
-n 重命名
-F 打包成一个exe文件(window10下打包)
-i 自定义图标
–noconsole 去掉cmd框
使用python做一个pdf转图片的可执行exe程序相关推荐
- GUI实战|Python做一个文档图片提取软件
大家好,本文将进一步讲解如何用Python提取PDF与Word中图片,并结合之前讲解过的GUI框架PysimpleGUI,做一个多文件图片提取软件,效果如下: 本文主要将分为以下部分讲解: PDF.W ...
- 用python做一个简单的图片浏览器竟如此简单
用了106行代码就做了一个图片浏览器,python真的太强大了.废话少说,看看效果先! 106行代码中还有不少代码是美化用的,真正功能的代码就没几句了.还是说说功能吧: 1. 打开文件夹,并只打开特定 ...
- 如何用python做一个会聊天的女朋友_戏精程序员,用python开发了一个女朋友,天天秀恩爱...
很多人都知道,程序员大部分都是单身狗,然而,无奈Python实在太强大,居然可以用来开发一个女朋友出来. 其实,这个女朋友类似很多视频中,那些假装自己有女朋友或男朋友的人一样,也是在假装哦,但是程序员 ...
- python画哆啦a梦图片_80行代码!用Python做一个哆来A梦分身
原标题:80行代码!用Python做一个哆来A梦分身 对于分身术,大家想必都或多或少的从<火影忍者>的动漫上看到过,炫酷的影分身场面,每每看到都觉得非常过瘾. 今天, 小编其实是蓝胖子的铁 ...
- 用Python做一个“以图搜番“的应用程序,再也不用愁动漫图片的出处了!
文章目录 前言 PyQt5界面设计 使用Qt Designer绘制界面 视频部件插入小技巧 解码器下载 功能实现 trace.moe API介绍与视频 使用Nuitka打包成exe文件 前言 喜欢看动 ...
- python可以做动漫吗_用Python做一个以图搜番的应用程序,再也不用愁动漫图片的出处了!...
前言 喜欢看动漫的朋友们大概都能体会到一个难受的事情,就是在论坛或者群聊里面看到一张动漫截图,很想知道它的出处,但百度搜了一圈却也没有一个可靠结果,就很郁闷.今天就来带大家用Python做一个简单的& ...
- python画圣诞老人图片_来得瑟一下!用Python做一个缩放自如的圣诞老人
原标题:来得瑟一下!用Python做一个缩放自如的圣诞老人 圣诞节又要到了,虽说我们中国人不提倡过西方的节日, 但是商家们还是很喜欢的,估计有对象的男孩纸女孩纸们也很喜欢吧. 今天的主题是为大家展示如 ...
- Python做一个Kindle电子书下载助手,真香!
哈喽,大家好,我是菜鸟哥! 大家有没有想过把亚马逊网站上的Kindle电子书下载到自己的电脑上? 今天分享的项目可以帮大家实现这一目的.该项目用Python开发,简单.好用.开源. 下面分享下项目的使 ...
- 利用Python做一个漂亮小姐姐词云跳舞视频
最近不少小伙伴在学 Python,想找个好玩的练手项目. 那今天分享一个,简单,适合新手的 Python 小项目. 以下是具体项目: 本文将以哔哩哔哩–乘风破浪视频为例,you-get下载视频. 同时 ...
最新文章
- java equals比较_Java中equals()和==的比较
- crosstool-ng 编译交叉工具链的常见错误及解决办法
- 62. Unique Paths
- 大于2的质数判断以及范围质数查找
- Volley 源码解析之网络请求
- 2020年中国餐饮配送机器人行业研究报告
- 多态计算器的开发 c# 1614095334
- Java Main Differences between HashMap HashTable and ConcurrentHashMap
- python字符串转为ascii码_Python转义字符及用法
- unity 入门学习之(一)创建基本的3D游戏场景
- CAD 2014 删除 Autodesk 360
- 药品数据查询系统工具(非付费官网50个)
- vue-router—12全局钩子函数
- DruidDataSource详解部分(一)
- 【目标检测】《DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection》论文阅读笔记
- outlook中打不开超链接
- OBS直播时编码器、码率控制器、分辨率帧率是什么以及如何向第三方推流
- 知乎日报APP:API接口分析
- 删除Management Data Warehouse (MDW) job失败
- 第二十六讲 有限域基础