小言_互联网的博客

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

423人阅读  评论(0)

   
  1. 点上方“菜鸟学Python”,选择“星标”
  2. 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篇文章,记得在留言区给个三连哦,我们下一篇见!


   
  1. 推荐阅读:
  2. 入门: 最全的零基础学Python的问题  | 零基础学了 8个月的Python  | 实战项目 |学Python就是这条捷径
  3. 干货:爬取豆瓣短评,电影《后来的我们》 |  38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探 3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
  4. 趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
  5. AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

点阅读原文,领廖雪峰大数据视频资料!

转载:https://blog.csdn.net/cainiao_python/article/details/115499784
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场