当前位置:   article > 正文

【python知识】win10下如何用python将网页转成pdf文件_python wkhtmltopdf 等页面加载完再转

python wkhtmltopdf 等页面加载完再转

一、说明

        本篇记录一个自己享用的简单工具。在大量阅读网上文章中,常常遇到一个专题对应多篇文章,用浏览器的收藏根本不够。能否见到一篇文章具有搜藏价值,就转到线下,以备日后慢慢消化吸收。这里终于找到一个办法,将在线网页用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文件

        为了继续演示本教程,我们需要使用一些 HTML 文件。这是我们将在本教程中使用的示例 sample.html 文件:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Hello!</title>
  6. </head>
  7. <body>
  8. <h1>Welcome to my YouTube channel!</h1>
  9. <p>This is a sample HTML file.</p>
  10. </body>
  11. </html>

在你的浏览器中打开,你应该看到:

四、如何将html转化成pdf文件

        首先,我们需要找到 wkhtmltopdf 可执行文件 wkhtmltopdf.exe 的路径

        回想一下,我们安装在 C:\Program Files\wkhtmltopdf 中,这意味着 .exe 文件位于该文件夹中。exe

        现在我们拥有了所需的一切,并且可以使用 Python 轻松地将 HTML 文件转换为 PDF,代码如下:

  1. import pdfkit
  2. #Define path to wkhtmltopdf.exe
  3. path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
  4. #Define path to HTML file
  5. path_to_file = 'sample.html'
  6. #Point pdfkit configuration to wkhtmltopdf.exe
  7. config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf)
  8. #Convert HTML file to PDF
  9. 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文件:

五、把在线 Web-page转化成PDF

        使用 pdfkit 库,您还可以使用 Python 将在线网页转换为 PDF。

        在本节中,我们将重用上一节中的大部分代码,除了现在我们将使用网页的 URL 和 pdfkit 类的 .from_url() 方法而不是使用 HTML 文件:

对应的python代码:

  1. import pdfkit
  2. #Define path to wkhtmltopdf.exe
  3. path_to_wkhtmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
  4. #Define url,可以指向您要转化的主页url
  5. url = 'https://wkhtmltopdf.org/'
  6. #Point pdfkit configuration to wkhtmltopdf.exe
  7. config = pdfkit.configuration(wkhtmltopdf=path_to_wkhtmltopdf)
  8. #Convert Webpage to PDF
  9. pdfkit.from_url(url, output_path='webpage.pdf', configuration=config)

          注意:这里关键用了pdfkit.from_url函数。 

六、结论

        在本文中,我们探讨了如何使用 Python 和 wkhtmltopdf 将 HTML 转换为 PDF。您可以结合爬虫或其它批量工具,能够实现大量资料的转化。方便阅读查询。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/862095
推荐阅读
相关标签
  

闽ICP备14008679号