
如何在 Python 中生成 PDF 報告
生成PDF文件報告是資料分析和資料科學家的常見需求。 IronPDF是一個功能強大的程式庫,可在Python程式應用中建立PDF表格文件,類似於PHP中的FPDF程式庫。本教程將引導您使用IronPDF從HTML模板或URLs建立和編寫報告,這如果做得不正確會非常耗時。
IronPDF: Python PDF程式庫
IronPDF是一個全面的程式庫,專為Python應用程式設計,以建立PDF,編輯及提取PDF文件的內容。 這是一個強大的工具,滿足軟體工程師的需求,經常面臨從各種資料來源或模板生成最終PDF文件結果的挑戰。 通過IronPDF,使用者可以輕鬆將HTML內容或URLs轉換為PDF文件,操作PDF內容,並將這些能力整合進Python程式專案,這使其成為處理PDF生成和操作任務的任何Python開發者的重要程式庫。
IronPDF還允許您建立互動表單、拆分和合併PDF文件,從PDF文件提取文字和圖片,在PDF文件中搜尋某些詞彙,將PDF頁面點陣化為圖片,以及列印PDF文件。
先決條件
第一步是確保您滿足以下先決條件:
- 系統上安裝了Python 3.7或更高版本。
- 已安裝.NET 6.0運行時,因為IronPDF程式庫依賴於.NET 6.0作為其底層技術。
您可以從官方.NET下載頁面安裝.NET 6.0運行時。
安裝
要使用IronPDF,您需要通過pip安裝此套件:
安裝IronPDF
IronPDF將在首次運行時自動下載其他依賴項。
建立簡單的PDF文件
這是一個使用HTML模板生成簡單PDF文件的範例程式碼:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render an HTML string as a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Save the rendered PDF to a file
pdf.SaveAs("hello_world.pdf")
這段程式碼片段將一個HTML文字轉換為PDF文件並保存在Python腳本所在的同一文件夾。
從URL生成PDF
IronPDF還可以通過以下範例程式碼從網頁URL建立PDF:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render a URL as a PDF document
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/python/")
# Save the rendered PDF to a file
pdf.SaveAs("website_snapshot.pdf")
使用資料庫生成PDF報告
使用IronPDF和Python建立專業外觀的PDF報告非常簡單。 以下是如何使用詳細的資料框架和自訂化HTML樣式生成增強報告:
步驟1:引入程式庫
首先,您需要引入所需的程式庫。 ChromePdfRenderer 是PDF生成過程中必不可少的。 該程式庫使HTML內容轉換為PDF文件成為可能。 此外,還需引入pandas,一個強大的資料操作程式庫,用於建立和管理資料框架。 Pandas將用於以表格式結構化您的報告資料。
from ironpdf import ChromePdfRenderer
import pandas as pd
步驟2:授權金鑰配置
啟用IronPDF需要設置您的授權金鑰。 此步驟至關重要,因為它解鎖了IronPDF的所有功能,允許您生成無水印或限制的PDF。 這是專業使用圖書館的一個簡單但至關重要的步驟。
License.LicenseKey = "Your-License-Key"
步驟3:建立資料框架
在這裡,您將使用Pandas建立資料框架。 此資料框架作為您報告的資料來源。 提供的範例包括詳細的員工資訊,展示Pandas在處理和結構化複雜資料集方面的能力。 資料框架可以根據您希望建立的報告的具體內容進行定制。
data = {
'Employee ID': [101, 102, 103, 104],
'Name': ['John Doe', 'Alice Smith', 'Bob Johnson', 'Emily Davis'],
'Age': [28, 34, 45, 29],
'Department': ['Sales', 'HR', 'IT', 'Marketing'],
'City': ['New York', 'London', 'San Francisco', 'Berlin']
}
df = pd.DataFrame(data)
步驟4:設計HTML模板
在此步驟中,您將設計帶有CSS樣式的HTML模板。 此模板定義了您的PDF報告的視覺呈現。 CSS樣式增強了報告中展示的資料的視覺吸引力和可讀性。 資料框架動態插入到此HTML模板中是通過Python的字串格式化處理的。
# HTML styling for the PDF report
html_style="""
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
padding: 5px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h2>Company Employee Report</h2>
{table}
</body>
</html>
"""
# Replace {table} with the HTML representation of the data frame
html_content = html_style.format(table=df.to_html(index=False, border=0))
步驟5:渲染並保存PDF
最後,使用IronPDF的ChromePdfRenderer將HTML內容轉換為PDF文件。 RenderHtmlAsPdf方法處理HTML和CSS,將其轉換為PDF文件。隨後使用SaveAs函式保存此文件,產生一個格式良好,視覺上吸引人的PDF報告。 此步驟概括了轉換過程,將資料和模板結合成一個最終文件。
# Render the HTML string to a PDF document
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(html_content)
# Save the rendered PDF to a file
pdf.SaveAs("enhanced_employee_report.pdf")
輸出
這是一份PDF格式的輸出報告:
公司員工報告
建立簡單的PDF文件
這是一個使用HTML模板生成簡單PDF文件的範例程式碼:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render an HTML string as a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
# Save the rendered PDF to a file
pdf.SaveAs("hello_world.pdf")
這段程式碼片段將一個HTML文字轉換為PDF文件並保存在Python腳本所在的同一文件夾。
從URL生成PDF
IronPDF還可以通過以下範例程式碼從網頁URL建立PDF:
from ironpdf import ChromePdfRenderer
# Create a PDF renderer using the ChromePdfRenderer class
renderer = ChromePdfRenderer()
# Render a URL as a PDF document
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/python/")
# Save the rendered PDF to a file
pdf.SaveAs("website_snapshot.pdf")
這將保存指定網頁的PDF快照。
結論
IronPDF是Python開發人員和資料科學家生成PDF報告的強大工具。 按照本指南,您可以輕鬆地將PDF生成整合到您的Python專案中,無論您是從HTML模板、URLs還是資料框架建立PDF。 記住要探索IronPDF的廣泛文件和範例,以充分利用其在您的PDF任務中的全部功能,例如新增圓餅圖。
不斷試驗IronPDF提供的不同功能和選項,以建立滿足您需求的PDF報告。 採用正確的方法,繁瑣的任務可以成為您工作流程中高效且自動化的一部分。
IronPDF提供免費試用,允許使用者在購買前完全探索其功能。 此外,它對於開發目的免費,為開發者在開發階段提供了具有成本效益的解決方案。 對於商業部署,IronPDF的授權從$999起價,滿足專業和企業級需求。

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

