使用Python将HTML转换为PDF文件

使用Python将HTML转换为PDF文件

我们中的大多数人可能都知道,有许多网站不允许用户以PDF格式下载网站内容。相反,他们要求用户购买其服务的高级版本,或者不提供PDF文件形式的下载服务。

然而,像Python这样的编程语言提供了 PDFKit 模块来生成PDF文件。在接下来的教程中,我们将了解如何使用 PDFKit 模块将HTML转换为PDF文件。

理解Python的PDFKit模块

Python提供了各种生成PDF文件的方法;但是, PDFKit 是其中一种最好的方法之一。 PDFKit 作为 wkhtmltopdf 工具的包装器,允许程序员使用 Webkit 将HTML文件转换为PDF格式。它可以呈现带有不同图像格式、HTML表单和其他复杂可打印文档的HTML文件。

如何安装Python的PDFKit模块

为了安装Python模块,我们需要使用“ pip ”,这是一个用于从可信公共存储库安装模块所需的包的框架。一旦我们有了“ pip ”,我们就可以使用以下命令从Windows命令提示符(CMD)或终端安装 PDFKit 模块:

语法:

$ pip install pdfkit

现在,我们必须安装 PDFKit 模块的依赖项,即 wkhtmltopdf 工具。

对于Ubuntu/Debian:

输入以下命令:

命令:

$ sudo apt-get install wkhtmltopdf

对于Windows操作系统:

步骤1: 我们可以从以下链接下载 wkhtmltopdf 工具:

https://wkhtmltopdf.org/downloads.html

步骤2: 将路径变量设置为环境变量中的二进制文件夹。

验证安装

一旦模块安装完成,我们可以通过创建一个空的Python程序文件并写入以下 import 语句来验证它:

文件:verify.py

import pdfkit

现在,保存上述文件并在终端中使用以下命令执行它:

语法:

$ python test_file.py

如果上述Python程序文件没有返回任何错误,那么模块已经正确安装。但是,如果出现异常,建议重新安装模块,并参考模块的官方文档。

现在,让我们开始使用Python中的PDFKit。

在Python中使用PDFKit

本节将演示如何使用Python编程语言中的PDFKit模块将HTML文件转换为PDF格式文件的不同示例。

Python的PDFKit模块允许程序员使用from_file()函数将本地HTML文件转换为PDF格式。让我们考虑以下示例:

示例:

# importing the required module
import pdfkit

# configuring pdfkit to point to our installation of wkhtmltopdf
config = pdfkit.configuration(wkhtmltopdf = r"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")

# converting html file to pdf file
pdfkit.from_file('sample.html', 'output.pdf', configuration = config)

输出:

使用Python将HTML转换为PDF文件

解释:

在上面的代码片段中,我们导入了所需的模块。然后我们定义了一个变量config,它存储了wkhtmltopdf工具的执行文件的地址,使用了configuration()函数。然后我们使用PDFKit模块的from_file()函数,指定参数为html文件的地址、存储PDF文件的位置和配置。

结果是,我们成功地将本地HTML文件转换为PDF文件。

我们还可以使用Python的PDFKit模块将网站URL转换为PDF文件,通过使用from_url()函数来实现。让我们考虑以下示例来演示相同的功能:

范例:

import pdfkit

# configuring pdfkit to point to our installation of wkhtmltopdf
config = pdfkit.configuration(wkhtmltopdf = r"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")

# converting url to pdf file
pdfkit.from_url('https://www.javatpoint.com/tic-tac-toe-in-python', 'output2.pdf', configuration = config)

输出:

使用Python将HTML转换为PDF文件

解释:

在上面的代码片段中,我们导入了所需的模块。然后,我们定义了一个名为config的变量,它存储了使用configuration()函数将执行文件的地址存储到了wkhtmltopdf工具。 然后,我们使用PDFKit模块的from_url()函数指定参数为URL、存储PDF文件的位置和配置。

结果上,我们成功地将URL转换为PDF文件。

此外,PDFKit模块允许程序员使用from_url()函数将字符串存储到PDF文件中。让我们考虑下面的示例来说明相同的情况:

示例:

# importing the required module
import pdfkit

# configuring pdfkit to point to our installation of wkhtmltopdf
config = pdfkit.configuration(wkhtmltopdf = r"C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")

my_string = """
    <html>
    <head>
    <body>
        <div class = "container">
            <h1>STRING TO PDF</h1>
            <p>This is my sample string that I wanted to stored in a PDF file</p>
        </div>
    </body>
    </head>
    </html>
"""

# storing string to pdf file
pdfkit.from_string(my_string, 'output3.pdf', configuration = config)

输出:

使用Python将HTML转换为PDF文件

说明:

在上面的代码片段中,我们已经导入了所需的模块。然后,我们定义了一个变量config,它存储了wkhtmltopdf工具的执行文件地址,使用了configuration()函数。然后,我们使用了PDFKit模块的from_string()函数,指定了参数为字符串变量、存储PDF文件的位置以及配置信息。

结果是,我们成功地将字符串存储到了PDF文件中。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程