在 Python 中使用 REST API 将 HTML 转换为 PDF

作为 Python 开发人员,您可以在云端以编程方式轻松地将 HTML 文件转换为 PDF 文档。这种转换有助于以可移植的形式保存记录或共享 HTML 文件。在本文中,您将了解如何使用 Python 中的 REST API 将 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 文件上传到云端:

# 创建 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)
在 Python 中使用 REST API 将 HTML 转换为 PDF

在 Python 中使用 REST API 将 HTML 转换为 PDF

下载转换后的文件

上面的代码示例会将转换后的 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 并添加水印

不使用云存储的 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 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看