HTML 是创建网页的标准标记语言,而 PDF 则是一种广泛应用于各种平台和场景的文档格式。由于 PDF 格式的适用范围更广,通过将 HTML 转换为 PDF,用户可以轻松创建适合打印的文档、离线共享网页内容以及生成各种报告等。本文将介绍如何使用 Spire.Doc for Python 在 Python 程序中将 HTML 文件或 HTML 字符串转换为 PDF。
安装 Spire.Doc for Python
本教程需要用到 Spire.Doc for Python 和 plum-dispatch v1.7.4。可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.Doc
如果您不确定如何安装,请参考:如何在 Windows 中安装 Spire.Doc for Python
用 Python 将 HTML 文件转换为 PDF
Document.LoadFromFile() 方法不仅支持加载 Doc 或 Docx 文件,还支持加载 HTML 文件。开发者可以使用该方法加载 HTML 文件,并使用 Document.SaveToFile() 方法将其保存为 PDF 文件。以下是操作步骤:
- 创建一个 Document 类的对象。
- 使用 Document.LoadFromFile() 方法加载 HTML 文件。
- 使用 Document.SaveToFile() 方法将文档转换为 PDF 并保存。
- Python
from spire.doc import Document
from spire.doc import FileFormat
from spire.doc import XHTMLValidationType
# 创建Document类的对象
doc = Document()
# 载入HTML文件
doc.LoadFromFile("示例.html", FileFormat.Html, XHTMLValidationType.none)
# 将HTML文件转换为PDF文件并保存
doc.SaveToFile("output/HTML转PDF.pdf", FileFormat.PDF)
doc.Close()
用 Python 将 HTML 字符串转换为 PDF
Spire.Doc for Python 中的 Paragraph.AppendHTML() 方法可以解析简单的的 HTML 字符串(通常是文本及其格式)并呈现在 Word 文档页面上。通过该方法解析并呈现 HTML 字符串后,再使用 Document.SaveToFile() 方法将 Word 文档保存为 PDF 文件,即可实现 HTML 字符串到 PDF 文档的转换。以下是详细操作步骤:
- 创建一个 Document 类的对象。
- 使用 Document.AddSection() 方法添加一个节到文档。
- 使用 Section.AddParagraph() 方法添加一个段落到节。
- 指定 HTML 字符串。
- 使用 Paragraph.AppendHTML() 方法将 HTML 字符串呈现在段落中。
- 使用 Document.SaveToFile() 方法将文档转换为 PDF 文档并保存。
- Python
from spire.doc import Document
from spire.doc import FileFormat
# 创建Document类的对象
doc = Document()
# 添加一个节到文档
sec = doc.AddSection()
# 添加一个段落到节
par = sec.AddParagraph()
# 指定HTML字符串
htmlString = """
<html>
<head>
<title>旅游统计信息</title>
<style>
h1 {
color: blue;
font-family: Arial, sans-serif;
}
p {
color: green;
font-family: Verdana, sans-serif;
}
ul {
color: red;
font-family: "Courier New", monospace;
}
ol {
color: purple;
font-family: "Times New Roman", serif;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: left;
font-family: Arial, sans-serif;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h1>旅游统计信息</h1>
<p>以下是一些旅游方面的统计信息:</p>
<h2>热门旅游目的地</h2>
<ul>
<li>巴黎</li>
<li>罗马</li>
<li>东京</li>
<li>纽约</li>
</ul>
<h2>旅游收入排行榜</h2>
<table>
<tr>
<th>国家</th>
<th>收入(亿美元)</th>
</tr>
<tr>
<td>法国</td>
<td>79.5</td>
</tr>
<tr>
<td>美国</td>
<td>76.9</td>
</tr>
<tr>
<td>西班牙</td>
<td>67.7</td>
</tr>
<tr>
<td>意大利</td>
<td>58.3</td>
</tr>
</table>
<a href="https://www.example.com">点击这里访问示例网站</a>
</body>
</html>
"""
# 将HTML字符串所展示的内容插入到段落中
par.AppendHTML(htmlString)
# 将文档转换为PDF文件并保存
doc.SaveToFile("output/HTML字符串转PDF.pdf", FileFormat.PDF)
doc.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。