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



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

这是「进击的Coder」的第 381 篇技术分享
作者:菜鸟哥
来源:菜鸟学 Python

阅读本文大概需要 4 分钟。




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 库。程序如下图所示:

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

将 word 文档转换成 pdf 文件,只需要一行代码即可完成,需要注意的是,为提升程序运行的鲁棒性,可以通过 try...except... 来捕获错误,防止程序因为异常报错而崩溃。


2).excel、PPT 转成 pdf

对于 excel 文件和 PPT 文件转换成 pdf 文档,采用 win32com 库进行转换。程序如下图所示。

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

程序中对于 excel 文档和 PPT 文档的操作非常的类似,因此这里我们以 excel 文档的操作为例,来进行程序的阐述,首先通过程序xlApp = client.Dispatch("Excel.Application")创建新的进程,进程中所作用的对象是 Excel 文件。

接下来程序通过打开一个 excel 文档,然后通过 ExportAsFixedFormat 函数将 excel 保存为 pdf 文档。函数中第一个参数 “0” 表示的是输出保存为 pdf 文档。程序还需要注意的有两点内容:
-根据不同的操作对象,ExportAsFixedFormat 函数的形参也是不相同的,大家可以参考微软的官方文档进行查询。
-在进程对 excel 或者是 PPT 文档的调用过程中,不能够打开对应的文档,因为在程序执行时,同一个文档不能够被两个进程所占用。


3).markdown 文件转 PDF

对于 md 文件的转换,需要借助 markdown 库和 pdfkit 库来进行实现。程序如下图所示。

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

程序将 md 文件转换成 pdf 文件需要分为两步来实现,第一步,将 md 文件转换成 html 格式的文件,然后利用 pdfkit 库将 html 文件转换成 pdf 文件即可。


4).html 转 PDF

对于在线的 html 文档转换成 pdf 文档,程序如下图所示:

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

上述的程序中,首先通过交互界面获取到用户输入的 url 链接,然后通过 pdfkit 库的 from_url 函数,即可将在线的 html 文件转换成 pdf 文件。


03.交互界面

最后我们通过对于交互界面的展示和程序的讲解,来进一步的理解程序的运行过程吧。对于交互界面,程序是利用 tkinter 库进行实现,如下图所示:

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

界面程序非常的简洁,最为核心的包含了五个按钮控件,用来控制运行不同的函数,而 Entry 控件则是用来获取用户的输入。界面的设计如下:

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

界面中每个按钮的功能通过它的名字,就能够进行判别,此外,在 Entry 控件中,大家只需要输入需要抓取的 url 链接,然后点击 html2PDF 控件,即可完成在线网页转换成 pdf 文档。


04.如何获取这个软件:

以上就是今天小编为大家带来的 PDF 转换器的分享,需要这个程序的可以在原作者公众号后台输入:小助手,找他获取,备注暗号 (pdf)
肝了一夜,用 90 行代码打造最强 PDF 转换器,word、PPT、excel、markdown、html 一键转换

End

「进击的Coder」专属学习群已正式成立,搜索「CQCcqc4」添加崔庆才的个人微信或者扫描下方二维码拉您入群交流学习。


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

看完记得关注@进击的Coder
及时收看更多好文
↓↓↓

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

点个

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

在看

认真看

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

原文始发于微信公众号(进击的Coder):肝了一夜,用 90 行代码打造最强 PDF 转换器,word、PPT、excel、markdown、html 一键转换

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
肝了一夜,用 90 行代码打造最强 PDF 转换器,word、PPT、excel、markdown、html 一键转换
、 这是「进击的Coder」的第 381 篇技术分享 作者:菜鸟哥 来源:菜鸟学 Python “ 阅读本文大概需要 4 分钟。 ” pdf 作为一种便携式的文档……
<<上一篇
下一篇>>