肝了一夜,用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换...
点上方“菜鸟学Python”,选择“星标”
第462篇原创干货,第一时间送达
pdf作为一种便携式的文档格式,在日常生活中具有非常广泛的应用。对于pdf 的应用,无论是文件打印、文档提交、或者是在线文件的传递。都离不开PDF文档的应用。
office软件中的word、PPT或者是excel文件等我们日常应用的文件,有时候都会转换成PDF文档。
菜鸟哥熬夜给给大家制作一款《最强PDF转换器》。力图用最简单最快捷的程序实现PDF的转换,一起来看看吧。
01.效果展示
为了方便大家对于程序的应用,小编制作了一个交互界面,利用这个交互界面就可以选择需要转换的文件,并转换成PDF文档。首先来看一看程序运行的效果吧。
02.程序讲解
通过上面的视频,可以看到,程序支持word、PPT等五种文件类型转换为PDF文档。接下来我们来展示一下程序是如何实现的吧。
1).word转成pdf
对于word文档转换为pdf文件,程序利用的是docx2pdf库,首先需要运行pip install docx2pdf
命令来安装docx2pdf库。程序如下图所示:
将word文档转换成pdf文件,只需要一行代码即可完成,需要注意的是,为提升程序运行的鲁棒性,可以通过try...except...来捕获错误,防止程序因为异常报错而崩溃。
2).excel、PPT转成pdf
对于excel文件和PPT文件转换成pdf文档,采用win32com库进行转换。程序如下图所示。
程序中对于excel文档和PPT文档的操作非常的类似,因此这里我们已excel文档的操作为例,来进行程序的阐述,首先通过程序xlApp = client.Dispatch("Excel.Application")
创建新的进程,进程中所作用的对象是Excel文件。
接下来程序通过打开一个excel文档,然后通过ExportAsFixedFormat函数将excel保存为pdf文档。函数中第一个参数“0”表示的是输出保存为pdf文档。程序还需要注意的有两点内容:
-根据不同的操作对象,ExportAsFixedFormat函数的形参也是不相同的,大家可以参考微软的官方文档进行查询。
-在进程对excel或者是PPT文档的调用过程中,不能够打开对应的文档,因为在程序执行时,同一个文档不能够被两个进程所占用。
3).markdown文件转PDF
对于md文件的转换,需要借助markdown库和pdfkit库来进行实现。程序如下图所示。
程序将md文件转换成pdf文件需要分为两步来实现,第一步,将md文件转换成html格式的文件,然后利用pdfkit库将html文件转换成pdf文件即可。
4).html转PDF
对于在线的html文档转换成pdf文档,程序如下图所示:
上述的程序中,首先通过交互界面获取到用户输入的url链接,然后通过pdfkit库的from_url函数,即可将在线的html文件转换成pdf文件。
03.交互界面
最后我们通过对于交互界面的展示和程序的讲解,来进一步的理解程序的运行过程吧。对于交互界面,程序是利用tkinter库进行实现,如下图所示:
界面程序非常的简洁,最为核心的包含了五个按钮控件,用来控制运行不同的函数,而Entry控件则是用来获取用户的输入。界面的设计如下:
界面中每个按钮的功能通过它的名字,就能够进行判别,此外,在Entry控件中,大家只需要输入需要抓取的url链接,然后点击html2PDF控件,即可完成在线网页转换成pdf文档。
04.如何获取这个软件:
以上就是今天小编为大家带来的PDF转换器的分享,需要这个程序的可以在公众号后台输入:小助手,找他获取,备注暗号(pdf)。
原创不易,希望大家也能多多支持,目前已经原创了461篇文章,记得在留言区给个三连哦,我们下一篇见!
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
年度爆款文案
1).卧槽!Pdf转Word用Python轻松搞定!
2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃
3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密
4).80行代码!用Python做一个哆来A梦分身
5).你必须掌握的20个python代码,短小精悍,用处无穷
6).30个Python奇淫技巧集
7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货
8).再见Python!我要学Go了!2500字深度分析!
9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片
点阅读原文,领廖雪峰大数据视频资料!
肝了一夜,用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换...相关推荐
- 肝了一夜,用 90 行代码打造最强 PDF 转换器,word、PPT、excel、markdown、html 一键转换...
. 这是「进击的Coder」的第 381 篇技术分享 作者:菜鸟哥 来源:菜鸟学 Python " 阅读本文大概需要 4 分钟. " pdf 作为一种便携式的文档格式,在日常生活中 ...
- 90行代码!大一学生自学编程,自创搜题网站,已在GitHub开源
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 大数据文摘出品 作者:Caleb 考试早已不是学生的"特权"了. ...
- 通过90行代码学会HTML5 WebSQL的4种基本操作
Web SQL数据库API是一个独立的规范,在浏览器层面提供了本地对结构化数据的存储,已经被很多现代浏览器支持了. 我们通过一个简单的例子来了解下如何使用Web SQL API在浏览器端创建数据库表并 ...
- 90行代码轻松实现!结合 Whisper + Stable-diffusion 的语音生成图像任务!
本项目将 Whisper 与 Stable Diffusion 模型结合,可以直接完成语音生成图像的任务.用户可以语音输入一个短句,Whisper 会自动将语音转化为文本,接着,Stable Diff ...
- 谷歌重磅开源新技术:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...
鱼羊 假装发自 凹非寺 量子位 报道 | 公众号 QbitAI 只要网络足够宽,深度学习动态就能大大简化,并且更易于理解. 最近的许多研究结果表明,无限宽度的DNN会收敛成一类更为简单的模型,称为高斯 ...
- 径向基神经网络_谷歌开源Neural Tangents:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...
鱼羊 假装发自 凹非寺 量子位 报道 | 公众号 QbitAI 只要网络足够宽,深度学习动态就能大大简化,并且更易于理解. 最近的许多研究结果表明,无限宽度的DNN会收敛成一类更为简单的模型,称为高斯 ...
- 几行代码就搞定一个文字识别功能,同时还能转换成语音,畅快!
前几天想把一篇不错的文章保存下来,无奈是图片的,于是想利用python把图片中的文字识别出来 实现的方式还是挺多的,这里介绍下百度的AI开放平台,毕竟大公司,感觉识别的精度会高点,同时相信他们的算法也 ...
- 第一行代码-android-第三版-pdf扫描-思维导图-课件-源码
第一行代码-android-第三版-pdf扫描-思维导图-课件-源码 一帮公众号各种要你关注, 各种压缩包层层套娃要密码, 还要进群, 真他妈日了gou了,找了半天 分享给大家, 毫无套路! pdf扫 ...
- HTML5游戏实战 2 90行代码实现捕鱼达人
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 捕鱼达人 ...
- HTML5游戏实战(2):90行代码实现捕鱼达人
捕鱼达人是一款非常流行的游戏,几年里赚取了数以千万的收入,这里借用它来介绍一下用Gamebuilder+CanTK开发游戏的方法.其实赚钱的游戏未必技术就很难,今天我们就仅用90来行代码来实现这个游戏 ...
最新文章
- k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)
- 在室内停车场使用道路标记语义进行厘米级建图和定位
- VR视觉健康标准在穗发布 专家:VR使用不要超过45分钟
- 在云服务器上搭建ftp站点
- java服务端的 极光推送
- Python学习(七) 流程控制if语句
- 快速了解一门技术的基本步骤
- day35-hibernate映射 03-Hibernate持久态对象自动更新数据库
- delphi 提示class tparamlistbox not found_通达信主图K线变色波段提示指标公式
- HBase完全分布式集群部署
- Tornado 源码分析(一)
- 电视影评-《战狼2》观后感
- 网络——5层结构介绍
- python中的dic.items(), dic.keys(), dic.values()
- UE4 材质学习 (01-第一个材质)
- java jsp 传值_jsp页面间的传值方法
- Tomcat 学习笔记
- ftp服务器文件复制文件路径,FTP将文件复制到同一FTP的另一个位置
- 基于51单片机的简易电梯系统的设计
- Geometry-guided Kernel Transformer ——GKT代码复现
热门文章
- 软件工程毕设(五)·外文翻译
- 微信表情商店视频动态暂停使用 6日恢复
- 当不知轴承型号时如何寻找轴承故障频率_轴承故障了?检测,处理,简单实用...
- 2020年中国轴承套圈行业市场现状分析,国内市场格局十分分散「图」
- turtle绘制八卦镜
- 影楼——修图基本知识
- 利用python做淘宝_利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程...
- 端午节海报|端午节海报设计素材图片大全
- 【从0开始音乐demo的制作:预计耗时15小时(一)】项目创建和Vue 3.x vue-cli 的选项问题
- snagit 9.0注册码