当前位置: 首页 > 科技观察

这个自动化工具是Pythoner用的!_0

时间:2023-03-18 23:14:26 科技观察

上一篇介绍了一个网页转PDF的神器——wkhtmltopdf。在不同的操作系统安装这个小软件,就可以直接通过命令行将网页转成PDF和图片。有朋友说这种处理方式和用插件没什么区别,不是很Pythonic!于是,我去找了一下,发现wkhtmltopdf这个软件有对应的Python版本包——pdfkit。今天我们就来看看这个包能帮我们做什么。什么是pdfkit?pdfkit是一个将HTML+CSS格式的文件转换成PDF的工具。它是工具包wkhtmltopdf的python包。所以我们在使用pdfkit之前需要先安装wkhtmltopdf。具体的安装方法很简单,可以参考之前的文章。pdfkit安装安装好wkhtmltopdf之后,我们再安装pdfkit:pipinstallpdfkit和安装其他python包一样,直接使用pip安装即可。pdfkit应用pdfkit是基于wkhtmltopdf的封装,所以功能也必须基于wkhtmltopdf。我们来看一个网页转PDF对应的URL示例:path_wkthmltopdf=r'C:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe'config=pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)pdfkit.from_url(r'https://zhuanlan.zhihu.com/p/421726412','studypython.pdf',configuration=config)例子很简单,就三行代码。第一行是wkhtmltopdf软件安装目录的bin目录地址;第二行是将这个目录地址传入pdfkit配置;第三行是传入网页的URL和生成文件的目标地址,传入配置信息,然后就可以生成PDF了。运行后生成的PDF文件是这样的:HTML文件转PDF的方法也很简单,和上一个类似,只需要将pdfkit调用的函数改一下即可:path_wkthmltopdf=r'C:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe'config=pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)pdfkit.from_file(r'C:\Users\xxx\Downloads\ttest\test.html','html.pdf',configuration=config)可以查看原来前两行是一样的,第三行使用了from_file函数。这里我传入了一个简单的分页,生成的PDF文件如下:StringtoPDF如果你手上有大量的文档,需要转换成PDF文件,比如你下载了很多小说。这时候可以使用pdfkit的string-to-PDF功能进行批量操作,进行转换。path_wkthmltopdf=r'C:\ProgramFiles\wkhtmltopdf\bin\wkhtmltopdf.exe'config=pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)pdfkit.from_string('说话很便宜,给我看看你的代码!','str.pdf',configuration=config)运行这段代码生成PDF文件如下:总结本文介绍了一个轻量级的三方包——pdfkit,可以将网页、HTML文件、URL对应的字符串转换成PDF文件。可能有人会问:有什么用?这些都是通过软件直接操作的,很容易解决。当然,对于少量的单线程操作,真的不用写代码,用软件更快更好。不过试想一下,如果你通过爬虫爬取了很多页面,想把这些页面转换成PDF文件保存起来,直接写转换程序再和爬虫程序结合岂不是更好更高效?虽然这些小工具的功能很简单,但是在合适的时候使用它们,会让你的效率大大提高。平时积累起来,关键时刻可以灵活运用!