赞
踩
本篇记录一个自己享用的简单工具。在大量阅读网上文章中,常常遇到一个专题对应多篇文章,用浏览器的收藏根本不够。能否见到一篇文章具有搜藏价值,就转到线下,以备日后慢慢消化吸收。这里终于找到一个办法,将在线网页用python转化成pdf。
wkhtmltopdf 是一个开源命令行工具,使用 Qt WebKit 渲染引擎将 HTML 文件渲染成 PDF。
为了在 Python 中使用它,我们还需要 pdfkit 库,它是 wkhtmltopdf 实用程序的包装器。
首先,为您的操作系统搜索 wkhtmltopdf 安装程序。对于 Windows,您可以在此处找到最新版本的 wkhtmltopdf 安装程序。只需下载 .exe 文件并在您的计算机上安装即可。
wkhtmltopdf下载路径是: here.
需要记住安装目录的路径。在我的例子中是:C:\Program Files\wkhtmltopdf
pdfkit需要安装 Python 库,请打开“命令提示符”(在 Windows 上)并使用以下代码安装它:
pip install pdfkit
为了继续演示本教程,我们需要使用一些 HTML 文件。这是我们将在本教程中使用的示例 sample.html 文件:
- <!DOCTYPE html>
- <html lang="en">
-
- <head>
- <meta charset="UTF-8">
- <title>Hello!</title>
- </head>
-
- <body>
- <h1>Welcome to my YouTube channel!</h1>
- <p>This is a sample HTML file.</p>
- </body>
-
- </html>
在你的浏览器中打开,你应该看到:
首先,我们需要找到 wkhtmltopdf 可执行文件 wkhtmltopdf.exe 的路径
回想一下,我们安装在 C:\Program Files\wkhtmltopdf 中,这意味着 .exe 文件位于该文件夹中。exe
现在我们拥有了所需的一切,并且可以使用 Python 轻松地将 HTML 文件转换为 PDF,代码如下:
- import pdfkit
-
- #Define path to wkhtmltopdf.exe
- path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
-
- #Define path to HTML file
- path_to_file = 'sample.html'
-
- #Point pdfkit configuration to wkhtmltopdf.exe
- config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf)
-
- #Convert HTML file to PDF
- pdfkit.from_file(path_to_file, output_path='sample.pdf', configuration=config)
注意:这里关键用了pdfkit.from_file函数。
sample.html 文件位于与 main.py 文件相同的目录中:
执行文件main.py
python3 mian.py
将输出pdf文件:
使用 pdfkit 库,您还可以使用 Python 将在线网页转换为 PDF。
在本节中,我们将重用上一节中的大部分代码,除了现在我们将使用网页的 URL 和 pdfkit 类的 .from_url() 方法而不是使用 HTML 文件:
对应的python代码:
- import pdfkit
-
- #Define path to wkhtmltopdf.exe
- path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
-
- #Define url,可以指向您要转化的主页url
- url = 'https://wkhtmltopdf.org/'
-
- #Point pdfkit configuration to wkhtmltopdf.exe
- config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf)
-
- #Convert Webpage to PDF
- pdfkit.from_url(url, output_path='webpage.pdf', configuration=config)
注意:这里关键用了pdfkit.from_url函数。
在本文中,我们探讨了如何使用 Python 和 wkhtmltopdf 将 HTML 转换为 PDF。您可以结合爬虫或其它批量工具,能够实现大量资料的转化。方便阅读查询。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。