跳過到頁腳內容
PYTHON PDF 工具

如何在 Python 中將 HTML 轉換為 PDF

如果您曾經遇到過需要將 HTML 檔案轉換為 PDF 格式的情況,那麼我們正好有適合您的解決方案。

今天,我們將向您介紹一種使用 PyHtml2Pdf 的快速且有效率的方法,這將節省您的時間和精力。 讀完本文,你將能夠使用 Python 輕鬆地從 HTML 產生 PDF。

為什麼選擇 Python

Python 是一種功能強大、易於學習的程式語言,它擁有龐大的軟體包和模組庫,可以幫助您實現目標。 使用 Python 將 HTML 轉換為 PDF也不例外,因為有許多程式庫可以讓流程快速且有效率。 使用 Python,您可以自動執行轉換過程,使其成為大型專案或批次處理的理想選擇。

介紹 PyHtml2Pdf

一些 Python 函式庫可以方便地將 HTML 轉換為 PDF,包括 ReportLab、xHtml2Pdf 和 pyhtml2pdf。 每個庫都提供獨特的功能和特性,使開發人員能夠根據自身需求選擇最合適的選項。

PyHTML2PDF 是一個開源的 Python 庫,可以在幾秒鐘內將您的本機 HTML 檔案轉換為專業格式的 PDF 文件。 PyHTML2PDF 專為高速 HTML 轉 PDF 而設計,是即時應用和隨選服務的理想選擇。 快速有效率地處理大量內容。 它支援一系列 HTML 和 CSS 功能,確保您的 PDF 文件保持其原始格式和設計。 作為開源項目,PyHTML2PDF 受益於 Python 社群的持續開發和支援。 隨時了解最新功能、改進和錯誤修復。

設定 Python 環境

安裝 Python

在開始將 HTML 轉換為 PDF 之前,請確保您的系統上已安裝 Python。 請造訪Python 官方網站,下載並安裝適用於您作業系統的最新版本 Python。

配置 Python 環境

Python 安裝完成後,設定一個虛擬環境來隔離專案依賴項。 利用venv模組來建立和管理虛擬環境,確保為您的轉換專案提供一個乾淨、獨立的工作空間。

安裝庫

在開始將 HTML 轉換為 PDF 之前,您需要設定環境。 首先,您需要使用 pip 安裝 PyHtml2Pdf:

pip install pyhtml2pdf
pip install pyhtml2pdf
SHELL

安裝完成後,現在可以開始使用 PyHtml2Pdf 將 HTML 轉換為 PDF 了。

使用 PyHtml2Pdf 將 HTML 轉換為 PDF

使用 PyHtml2Pdf 將 HTML 檔案轉換為 PDF 非常簡單。 以下是分步指南:

步驟 1:導入 PyHtml2Pdf

首先在 Python 腳本中導入PyHtml2Pdf庫:

from pyhtml2pdf import converter
from pyhtml2pdf import converter
PYTHON

步驟 2:將 HTML 轉換為 PDF

若要將 HTML 檔案轉換為 PDF,請使用convert功能。 您需要提供輸入 HTML 檔案路徑和輸出 PDF 檔案路徑作為參數:

import os
from pyhtml2pdf import converter

# Get the absolute path to the HTML file
path = os.path.abspath('test.html')

# Convert the HTML file to a PDF
converter.convert(f'file:///{path}', 'htmlToPdf.pdf')
import os
from pyhtml2pdf import converter

# Get the absolute path to the HTML file
path = os.path.abspath('test.html')

# Convert the HTML file to a PDF
converter.convert(f'file:///{path}', 'htmlToPdf.pdf')
PYTHON

若要將網站 URL 轉換為 PDF,可以使用下列 Python 程式碼:

from pyhtml2pdf import converter

# Convert the URL to a PDF
converter.convert('https://ironpdf.com/', 'urlToPdf.pdf')
from pyhtml2pdf import converter

# Convert the URL to a PDF
converter.convert('https://ironpdf.com/', 'urlToPdf.pdf')
PYTHON

步驟 3:運行腳本

在電腦上開啟終端機或命令提示符,並導航至儲存 Python 腳本的目錄。

在終端機或命令提示字元中輸入命令python3 htmltopdf.py來運行腳本。 將htmltopdf.py替換為您的 Python 腳本的實際檔名。

等待腳本執行完畢。 腳本運行完畢後,轉到指定的輸出路徑。 您應該會找到一個新產生的、名稱與您指定名稱相同的 PDF 檔案。

如何在 Python 中將 HTML 轉換為 PDF:圖 1

IronPDF:.NET 開發人員的強大替代方案

雖然PyHtml2Pdf對於 Python 使用者來說是一個絕佳的選擇,但 .NET 開發人員可能正在為其平台尋找合適的替代方案。 在這種情況下, IronPDF是一個功能強大且功能豐富的程式庫,旨在與PythonJava.NET應用程式搭配使用。 IronPDF 讓開發人員能夠輕鬆地產生、編輯和提取 PDF 中的內容。

IronPDF 的主要功能

IronPDF 擁有眾多功能,使其成為 Python 開發人員的首選:

  • HTML 轉 PDF 轉換:IronPDF 可讓您將 HTML 內容(包括 CSS)轉換為 PDF 檔案。 您可以使用它將 HTML 檔案、URL 甚至 HTML 字串直接轉換為 PDF。
  • PDF 操作:使用 IronPDF,您不僅可以產生 PDF,還可以編輯現有的 PDF。 您可以合併、分割 PDF 文件並新增浮水印,使其成為一款功能全面的 PDF 處理工具。 *表單填寫:IronPDF 使您能夠以程式設計方式填寫 PDF 表單。 當您需要自動輸入 PDF 文件中的資料時,此功能尤其有用。
  • PDF文字擷取:使用IronPDF從PDF文件中提取文字非常容易。 您可以使用此功能解析 PDF 文件中的數據,從而輕鬆分析和處理提取的資訊。

使用 IronPDF 將 HTML 轉換為 PDF

安裝 IronPDF :在終端機中執行以下指令來安裝 IronPDF:

pip install ironpdf  # Assuming the package manager route for IronPDF
pip install ironpdf  # Assuming the package manager route for IronPDF
SHELL

使用此程式碼片段將範例 HTML 檔案轉換為 PDF。

from IronPdf import *
from IronPdf.Engines.Chrome import *

# Create an instance of the ChromePdfRenderer
renderer = ChromePdfRenderer()

# Render the HTML file as a PDF
htmlToPdf = renderer.RenderHtmlFileAsPdf("test.html")

# Save the PDF file
htmlToPdf.SaveAs("output.pdf")
from IronPdf import *
from IronPdf.Engines.Chrome import *

# Create an instance of the ChromePdfRenderer
renderer = ChromePdfRenderer()

# Render the HTML file as a PDF
htmlToPdf = renderer.RenderHtmlFileAsPdf("test.html")

# Save the PDF file
htmlToPdf.SaveAs("output.pdf")
PYTHON

這段程式碼創建了一個新的ChromePdfRenderer實例,將"test.html"文件渲染為 PDF 文檔,然後將 PDF 文件儲存為輸出目錄中的"output.pdf"。 請記得將"test.html"替換為您的HTML檔案路徑,將"output.pdf"替換為所需的輸出PDF檔案路徑。

結論

在本文中,我們探討如何使用 PyHtml2Pdf 將 HTML 轉換為 PDF。 我們討論了將 HTML 轉換為 PDF 的好處,介紹了 PyHtml2Pdf 這個強大的解決方案,並示範如何設定環境以及如何將 HTML 檔案轉換為 PDF。 我們也談到如何根據您的具體要求自訂輸出。

IronPDF提供慷慨的免費試用期,讓您在購買前充分體驗其功能和功能。 一旦您體驗過 IronPDF 的強大功能並確定它適合您的項目,許可選項從$799起。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。