跳至頁尾內容
PYTHON PDF 工具

如何在 Python 中將 HTML 轉換為 PDF

如果您曾經需要將HTML文件轉換為PDF格式,那麼我們為您提供了解決方案。

今天,我們將指導您使用PyHtml2Pdf的快速且高效的方法,這將為您節省時間和精力。 在本文結束時,您將能夠使用Python輕鬆生成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:

:ProductInstall  # Assuming the package manager route for IronPDF
:ProductInstall  # 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的強大功能,並決定它適合您的專案,授權選項從$999開始。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話