在 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 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看