点上方“菜鸟学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一键转换...相关推荐

  1. 肝了一夜,用 90 行代码打造最强 PDF 转换器,word、PPT、excel、markdown、html 一键转换...

    . 这是「进击的Coder」的第 381 篇技术分享 作者:菜鸟哥 来源:菜鸟学 Python " 阅读本文大概需要 4 分钟. " pdf 作为一种便携式的文档格式,在日常生活中 ...

  2. 90行代码!大一学生自学编程,自创搜题网站,已在GitHub开源

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 大数据文摘出品 作者:Caleb 考试早已不是学生的"特权"了. ...

  3. 通过90行代码学会HTML5 WebSQL的4种基本操作

    Web SQL数据库API是一个独立的规范,在浏览器层面提供了本地对结构化数据的存储,已经被很多现代浏览器支持了. 我们通过一个简单的例子来了解下如何使用Web SQL API在浏览器端创建数据库表并 ...

  4. 90行代码轻松实现!结合 Whisper + Stable-diffusion 的语音生成图像任务!

    本项目将 Whisper 与 Stable Diffusion 模型结合,可以直接完成语音生成图像的任务.用户可以语音输入一个短句,Whisper 会自动将语音转化为文本,接着,Stable Diff ...

  5. 谷歌重磅开源新技术:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...

    鱼羊 假装发自 凹非寺 量子位 报道 | 公众号 QbitAI 只要网络足够宽,深度学习动态就能大大简化,并且更易于理解. 最近的许多研究结果表明,无限宽度的DNN会收敛成一类更为简单的模型,称为高斯 ...

  6. 径向基神经网络_谷歌开源Neural Tangents:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...

    鱼羊 假装发自 凹非寺 量子位 报道 | 公众号 QbitAI 只要网络足够宽,深度学习动态就能大大简化,并且更易于理解. 最近的许多研究结果表明,无限宽度的DNN会收敛成一类更为简单的模型,称为高斯 ...

  7. 几行代码就搞定一个文字识别功能,同时还能转换成语音,畅快!

    前几天想把一篇不错的文章保存下来,无奈是图片的,于是想利用python把图片中的文字识别出来 实现的方式还是挺多的,这里介绍下百度的AI开放平台,毕竟大公司,感觉识别的精度会高点,同时相信他们的算法也 ...

  8. 第一行代码-android-第三版-pdf扫描-思维导图-课件-源码

    第一行代码-android-第三版-pdf扫描-思维导图-课件-源码 一帮公众号各种要你关注, 各种压缩包层层套娃要密码, 还要进群, 真他妈日了gou了,找了半天 分享给大家, 毫无套路! pdf扫 ...

  9. HTML5游戏实战 2 90行代码实现捕鱼达人

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 捕鱼达人 ...

  10. HTML5游戏实战(2):90行代码实现捕鱼达人

    捕鱼达人是一款非常流行的游戏,几年里赚取了数以千万的收入,这里借用它来介绍一下用Gamebuilder+CanTK开发游戏的方法.其实赚钱的游戏未必技术就很难,今天我们就仅用90来行代码来实现这个游戏 ...

最新文章

  1. k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)
  2. 在室内停车场使用道路标记语义进行厘米级建图和定位
  3. VR视觉健康标准在穗发布 专家:VR使用不要超过45分钟
  4. 在云服务器上搭建ftp站点
  5. java服务端的 极光推送
  6. Python学习(七) 流程控制if语句
  7. 快速了解一门技术的基本步骤
  8. day35-hibernate映射 03-Hibernate持久态对象自动更新数据库
  9. delphi 提示class tparamlistbox not found_通达信主图K线变色波段提示指标公式
  10. HBase完全分布式集群部署
  11. Tornado 源码分析(一)
  12. 电视影评-《战狼2》观后感
  13. 网络——5层结构介绍
  14. python中的dic.items(), dic.keys(), dic.values()
  15. UE4 材质学习 (01-第一个材质)
  16. java jsp 传值_jsp页面间的传值方法
  17. Tomcat 学习笔记
  18. ftp服务器文件复制文件路径,FTP将文件复制到同一FTP的另一个位置
  19. 基于51单片机的简易电梯系统的设计
  20. Geometry-guided Kernel Transformer ——GKT代码复现

热门文章

  1. 软件工程毕设(五)·外文翻译
  2. 微信表情商店视频动态暂停使用 6日恢复
  3. 当不知轴承型号时如何寻找轴承故障频率_轴承故障了?检测,处理,简单实用...
  4. 2020年中国轴承套圈行业市场现状分析,国内市场格局十分分散「图」
  5. turtle绘制八卦镜
  6. 影楼——修图基本知识
  7. 利用python做淘宝_利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程...
  8. 端午节海报|端午节海报设计素材图片大全
  9. 【从0开始音乐demo的制作:预计耗时15小时(一)】项目创建和Vue 3.x vue-cli 的选项问题
  10. snagit 9.0注册码