作为 Python 开发人员,您可以在云端以编程方式轻松地将 HTML 文件转换为 PDF 文档。这种转换有助于以可移植的形式保存记录或共享 HTML 文件。在本文中,您将了解如何使用 Python 中的 REST API 将 HTML 转换为 PDF 文档。
本文应涵盖以下主题:
- HTML 到 PDF 转换 REST API 和 Python SDK
- 在 Python 中使用 REST API 将 HTML 转换为 PDF
- 将 HTML 转换为 PDF 并添加水印
- 不使用云存储的 HTML 到 PDF 转换
- 将 HTML 转换为 PDF 并直接下载
HTML 到 PDF 转换 REST API 和 Python SDK
为了将 HTML 文件转换为 PDF,我将使用 GroupDocs.Conversion Cloud 的 Python SDK API。它允许您将任何 支持的文件格式 的文档和图像转换为您需要的任何格式。您可以轻松地在 Word、PowerPoint, Excel、PDF、HTML、CAD、光栅图像等 50 多种文档和图像之间进行转换。
您可以在控制台中使用以下命令将 GroupDocs.Conversion Cloud 安装到您的 Python 项目:
pip install groupdocs_conversion_cloud
在开始执行步骤和可用代码示例之前,请从 dashboard 获取您的 Client ID 和 Client Secret。获得 ID 和密码后,请添加如下所示的代码:
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
configuration = groupdocs_conversion_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
在 Python 中使用 REST API 将 HTML 转换为 PDF
您可以按照以下简单步骤将 HTML 文件转换为 PDF 文档:
- 上传 HTML文件到云端
- 在 Python 中将 HTML 转换为 PDF
- 下载转换后的文件
上传文件
首先,使用下面给出的代码示例将 HTML 文件上传到云端:
# 创建 API 实例
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)
# 上传文件请求
request = groupdocs_conversion_cloud.UploadFileRequest("sample.html", "C:\\Files\\sample.html", my_storage)
# 上传示例文件
response = file_api.upload_file(request)
因此,上传的 HTML 文件将在云端仪表板的 文件部分 中可用。
在 Python 中将 HTML 转换为 PDF
您可以按照以下步骤轻松地以编程方式将 HTML 转换为 PDF 文档:
- 创建一个 ConvertApi 的实例
- 创建 ConvertSettings 的实例
- 设置 HTML 文件路径
- 将“pdf”分配给格式
- 提供输出文件路径
- 如果需要,定义 PdfConvertOptions
- 可选择设置各种属性,例如 dpi、margin\top、margin\left、fit\window 等。
- 使用 ConvertSettings 创建 ConvertDocumentRequest
- 使用 ConvertDocumentRequest 调用 convert\document() 方法获取结果
以下代码示例展示了如何使用 REST API 将 HTML 文件转换为 PDF 文档。
# 创建必要的 API 实例
转变_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)
# 准备转换设置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = "转变ed"
# PDF 转换选项
转变Options = groupdocs_conversion_cloud.PdfConvertOptions()
转变Options.center_window = True # Set position of the document's window on the screen
转变Options.display_doc_title = True
转变Options.dpi = 1024.0
转变Options.fit_window = False
转变Options.from_page = 1 # Start conversion from FromPage page
转变Options.linearize = False # Linearize PDF Document for the Web
转变Options.margin_top = 5
转变Options.margin_left = 5
转变Options.unembed_fonts = True # Make fonts not embedded
转变Options.remove_pdfa_compliance = False # Remove Pdf-A Compliance
settings.转变_options = 转变Options
# 转换文档请求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)
# 转变
result = 转变_api.转变_document(request)
# 完毕
print("Document 转变ed: " + result[0].path)
下载转换后的文件
上面的代码示例会将转换后的 PDF 文件保存在云端。您可以使用以下代码示例下载它:
# API初始化
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)
# 创建下载文件请求
request = groupdocs_conversion_cloud.DownloadFileRequest("converted\\sample.pdf", my_storage)
# 下载文件
response = file_api.download_file(request)
# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\")
将 HTML 转换为 PDF 并添加水印
您可以按照以下步骤以编程方式将 HTML 转换为 PDF 文档并向转换后的文档添加水印:
- 创建 ConvertApi 的实例
- 创建 ConvertSettings 的实例
- 设置 HTML 文件路径
- 将“pdf”分配给格式
- 提供输出文件路径
- 创建 WatermarkOptions 的实例
- 设置水印文字、颜色、宽度、高度等。
- 定义 PdfConvertOptions 并分配 WatermarkOptions
- 使用 ConvertSettings 创建 ConvertDocumentRequest
- 通过使用 ConvertDocumentRequest 调用 convert\document() 方法进行转换
下面的代码示例展示了如何使用 Python 中的 REST API 将 HTML 文件转换为 PDF 文档并向转换后的 PDF 文档添加水印。请按照前面提到的步骤上传和下载文件。
# 接口初始化
转变_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)
# 定义转换设置
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = "转变ed"
# 定义水印选项
watermark = groupdocs_conversion_cloud.WatermarkOptions()
watermark.text = "THIS IS SAMPLE WATERMARK"
watermark.bold = True;
watermark.font_size = 34;
watermark.color = "Gray";
watermark.background = False;
watermark.rotation_angle = 30;
watermark.left = 90;
watermark.top = 500;
# 定义 PDF 转换选项
转变Options = groupdocs_conversion_cloud.PdfConvertOptions()
转变Options.watermark_options = watermark
settings.转变_options = 转变Options
# 创建转换文档请求
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)
# 转变
result = 转变_api.转变_document(request)
print("Document 转变ed successfully: " + result[0].url)
不使用云存储的 HTML 到 PDF 转换
您可以按照以下步骤在不使用云存储的情况下将 HTML 转换为 PDF 文档:
- 创建 ConvertApi 的实例
- 创建 ConvertDocumentDirectRequest 并传递请求的文档格式和输入文件路径
- 使用 ConvertDocumentDirectRequest 调用 convert\document\direct() 方法获取结果
- 或者,使用 shutil.move() 方法将输出文件保存到本地路径
以下代码示例显示了如何在不使用云存储的情况下将 HTML 文件转换为 PDF 文档。您将在请求正文中传递输入文件,并在 API 响应中接收输出文件。
# 创建必要的 API 实例
convert_api = groupdocs_conversion_cloud.转变Api.from_keys(client_id, client_secret)
# 准备请求
request = groupdocs_conversion_cloud.转变DocumentDirectRequest("pdf", "C:\\Files\\sample.html")
# 转变
result = convert_api.convert_document_direct(request)
# 将下载的文件移动到您的工作目录
shutil.move(result, "C:\\Files\\")
将 HTML 转换为 PDF 并直接下载
您可以按照以下步骤轻松地以编程方式将 HTML 转换为 PDF 文档:
- 创建一个 ConvertApi 的实例
- 创建 ConvertSettings 的实例
- 设置 HTML 文件路径
- 将“pdf”分配给格式
- 将“无”设置为输出路径
- 使用 ConvertSettings 创建 ConvertDocumentRequest
- 调用convert\document\download()方法获取结果
- 或者,使用 shutil.move() 方法将输出文件保存到本地路径
以下代码示例显示了如何将 HTML 文件转换为 PDF 文档并使用 Python 中的 REST API 直接下载它。 API 应返回转换后的 PDF 文件作为响应。请按照前面提到的步骤上传文件。
# 创建必要的 API 实例
convert_api = groupdocs_conversion_cloud.转变Api.from_keys(client_id, client_secret)
# 准备转换设置
settings = groupdocs_conversion_cloud.转变Settings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = None # leave OutputPath will result the output as document IOStream
# 准备请求
request = groupdocs_conversion_cloud.转变DocumentRequest(settings)
# 转变
response = convert_api.convert_document_download(request)
# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\")
在线试用
请试用以下免费的在线 HTML 到 PDF 转换工具,它是使用上述 API 开发的。 https://products.groupdocs.app/conversion/html-to-pdf
结论
在本文中,您学习了如何在云端使用 Python 将 HTML 文件转换为 PDF 文档。您还学习了如何在不以编程方式使用云存储的情况下将 HTML 文件转换为 PDF 文档。此外,您还学习了如何使用 Python 为转换后的 PDF 文档添加水印。本文还介绍了如何以编程方式将 HTML 文件上传到云端,然后从云端下载转换后的 PDF 文件。您可以使用 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。