HTML到PDF C# - 使用IronPDF的完整指南
介紹
在今天的數位時代,將HTML轉換為PDF是開發人員的常見需求。 無論是生成報告、發票、法律文件,還是存檔網頁內容,生產一致且專業的PDF可能具有挑戰性。
傳統上,此過程需要手動處理PDF結構、複雜的佈局計算和大量編碼,這使得工作耗時且容易出錯。 現代.NET開發人員需要一個可靠的解決方案,以簡化PDF生成,同時保持準確性和靈活性。 除此之外,找到一個提供完整JavaScript和CSS支持的程式庫,可以大大提高生成的PDF文件的質量。 這就是今天我們要介紹的程式庫,IronPDF。
在下面的部分中,我們將探討如何使用IronPDF在C#中將HTML轉換為PDF,這是一個簡化過程並與.NET應用程式無縫整合的程式庫。 在本指南結束後,您將能夠在您的.NET專案中進行無縫的HTML到PDF轉換。
How to convert HTML to PDF C
- 創建一個新的Visual Studio專案。
- 從NuGet套件管理器添加IronPDF程式庫。
- 將HTML字串轉換為PDF文件。
- 添加頁首和頁尾。
- 包括外部樣式表和腳本。
IronPDF介紹
IronPDF是一個.NET程式庫,允許開發人員輕鬆地將HTML轉換為PDF。 它支持廣泛的功能,包括CSS、JavaScript和嵌入的圖像,因此您的PDF可以精確呈現您的HTML網頁。 這確保了格式之間的無縫過渡,使IronPDF對於即時生成動態PDF文檔的網絡應用程式特別有用。
該程式庫允許開發人員將PDF功能直接整合到C#或VB.NET應用程式中,而不需要手動管理PDF結構。 IronPDF完全兼容.NET Framework、.NET Core和現代.NET版本,並支持Windows和Linux環境。 利用基於Chrome的渲染引擎,IronPDF將HTML頁面(包括複雜的CSS、JavaScript和圖像)轉換為結構良好的高質量PDF文件——通常只需幾行代碼。 它非常適合生成報告、發票、電子書或任何需要以PDF格式呈現的文件類型。
除了其PDF轉換能力之外,IronPDF還提供各種操作PDF文件的選項,包括編輯、表單處理、加密、頁首/頁尾等,這使得它成為現代PDF工作流程的多功能工具。
IronPDF的主要功能
HTML到PDF轉換
- HTML渲染:IronPDF可以將HTML文件、內容或整個網頁(包括具有CSS、圖像和JavaScript的HTML文件)直接轉換為PDF文件。 這對於在PDF創建中使用動態網頁內容非常理想。
- 支持現代HTML/CSS:IronPDF 處理現代HTML5、CSS3和JavaScript,確保您的基於網路的內容準確地呈現為PDF。 這保留了佈局、字體和互動式HTML元素。 它甚至可以直接將HTML內容(如HTML表單)轉換為易於共享和填寫的PDF表單。
- 高級渲染:它使用Chrome的渲染引擎(通過Chromium)進行準確、高質量的PDF生成,使得比許多其他HTML到PDF程式庫更可靠。
- 網站URL到PDF:IronPDF可以將網站的字串URL作為輸入,並轉換為PDF。
自定義頁眉和頁腳
- IronPDF允許開發人員將自定義的頁首和頁尾添加到PDF文檔中,可以包括動態內容如頁碼、文檔標題或自定義文字。
- 頁首和頁尾可以添加到單個頁面,也可以作為一致的元素跨整個文檔顯示。
支持PDF中的JavaScript
- IronPDF在生成PDF之前,允許在HTML內容中執行JavaScript。 這允許動態內容渲染,例如表單計算或在生成的PDF中處理交互。
- JavaScript在從動態網頁生成PDF或生成需要客戶端邏輯的報告時非常有用。
編輯現有PDF
- IronPDF提供編輯現有PDF的功能。 您可以修改PDF頁面的大小、文字、圖像,並向現有的PDF文件添加註釋。 這一功能對於為文件添加水印、添加簽名或更新PDF文件中的內容非常有用。
- 文字提取和修改允許您以編程方式操作PDF文件中的內容。
合併和分割PDF
- IronPDF允許您將多個PDF文件合併為單個文檔,或將大PDF拆分為較小的文件。 這適用於需要將文檔合併或分解為更易於管理的部分的工作流程。
支持互動式表單
- 您可以使用IronPDF創建、填寫和操作PDF表單。 它為互動式表單(如文本框、複選框和單選按鈕)提供全面支持,允許您預先填充表單數據。
- IronPDF還支持從現有PDF中提取表單數據,便於讀取和編程處理表單數據。
頁面操作
- IronPDF提供各種方法來操作PDF文檔中的單個頁面,比如旋轉頁面、刪除頁面或重新排序它們。 這有助於定製最終文件的結構。
- 您還可以為現有的PDF添加新頁面,或刪除不需要的頁面。
安全和加密
添加水印和品牌
- 使用IronPDF可以輕鬆添加水印到PDF文檔。 您可以將文本或圖像作為水印覆蓋到頁面上,提供防止未經授權複製或分發文檔的保護。
- 該功能經常用於品牌營銷,當標誌或文字需要在文件的所有頁面上一致出現時。
文本和圖像提取
- IronPDF允許從PDF文檔中提取文字和圖像,使開發人員能夠提取數據以便處理或再利用。
- 這對於需要分析PDF內容、從表單中提取信息或檢索圖像以便進一步使用的情況來說非常有用。
支持Unicode和多語言
- IronPDF具有強大的Unicode支持,這意味著它可以處理國際字符和字體,這使得它在生成多語言PDF文件時非常理想。
- 它支持如中文、阿拉伯文、俄文等語種,允許創建多語言PDF文檔。
針對效能優化
- IronPDF針對性能進行了優化,能夠處理大型PDF文件和高容量的請求。 該程式庫確保即使在處理大型數據集或圖像時,PDF生成仍保持快速和高效。
API和開發者友好的工具
- IronPDF附帶一個全面且易於使用的API。 開發者可以通過簡單的方法呼叫快速入門,以執行複雜的任務。
- 該API有良好的文件記錄,方便將IronPDF整合至任何C#或.NET應用程式中。
- 跨平台支持
IronPDF的用途範例
發票生成
- 許多企業使用IronPDF從動態數據生成專業的發票。 嵌入CSS樣式的HTML模板被渲染為PDF發票,然後發送給客戶。
報告和數據分析
- IronPDF非常適合從數據來源創建詳細的報告。 您可以通過結合HTML模板的數據生成自定義報告,添加圖表,並渲染為PDF以便共享或打印。
法律和合同文件
- 法律公司使用IronPDF生成合同、法律協議和其他文檔類型。可以添加數位簽名和加密安全文件的能力,使其非常適合法律工作流程。
教育材料
- 教育機構使用IronPDF創建和發放如證書、課程材料和講義等PDF文件,這些文件的樣式是一致且專業的。
- 表單和調查
- IronPDF的表單處理能力在生成調查、問卷或任何其他類型的互動表單時非常有價值。 數據可以預填,並且表單響應可以提取和處理。
步驟1:創建新的Visual Studio專案
要開始,請打開Visual Studio並按照如下說明創建一個新專案:

選擇創建控制台應用程式:

提供專案名稱和位置:

選擇.NET版本:

點擊"創建"按鈕完成專案創建:
步驟2:從NuGet套件管理器添加IronPDF程式庫
在您可以開始將HTML轉換為PDF之前,您需要安裝IronPDF程式庫。 您可以在Visual Studio中使用NuGet套件管理器安裝,或者在套件管理器控制台中運行以下命令:
此外,IronPDF也可以通過Visual Studio套件管理器安裝。

第三步:將HTML字串轉換為PDF文件
以下是HTML到PDF轉換器應用程式的代碼。 這裡,使用HTML字串作為輸入並轉換為PDF。 您可以使用相同的步驟將HTML文件轉換為PDF,僅需添加一步來從HTML文件讀取內容。
using IronPdf;
class Program
{
static void Main()
{
// Specify license key
IronPdf.License.LicenseKey = "Your Key";
// Create a new ChromePdfRenderer object
var Renderer = new ChromePdfRenderer();
// Define the HTML string to be converted
string htmlContent = "<html><body><h1>IronPDF: An Awesome PDF Generation Library</h1></body></html>";
// Convert HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document to a file
document.SaveAs("html2Pdf.pdf");
}
}using IronPdf;
class Program
{
static void Main()
{
// Specify license key
IronPdf.License.LicenseKey = "Your Key";
// Create a new ChromePdfRenderer object
var Renderer = new ChromePdfRenderer();
// Define the HTML string to be converted
string htmlContent = "<html><body><h1>IronPDF: An Awesome PDF Generation Library</h1></body></html>";
// Convert HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document to a file
document.SaveAs("html2Pdf.pdf");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main()
' Specify license key
IronPdf.License.LicenseKey = "Your Key"
' Create a new ChromePdfRenderer object
Dim Renderer = New ChromePdfRenderer()
' Define the HTML string to be converted
Dim htmlContent As String = "<html><body><h1>IronPDF: An Awesome PDF Generation Library</h1></body></html>"
' Convert HTML string to a PDF document
Dim document = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF document to a file
document.SaveAs("html2Pdf.pdf")
End Sub
End Class代碼片段解釋
- 授權密鑰設置:
- 程式開始時將IronPDF授權密鑰設置為啟用程式庫的全部功能。
- 創建渲染器:
- 創建一個ChromePdfRenderer的實例。 這是負責將HTML渲染為PDF文檔的組件。 它基本上充當HTML內容和生成的PDF之間的橋樑。
- HTML內容:
- 定義了一個字串變量htmlContent,包含您要轉換為PDF的HTML代碼。 在這種情況下,它是一個簡單的HTML結構,其中包含一個標題。
- HTML到PDF轉換:
- 調用Renderer.RenderHtmlAsPdf()方法,將HTML字串生成PDF文件。 此方法處理HTML內容並將其轉換為PDF格式。
- 保存PDF:
- 使用SaveAs()方法將生成的PDF文檔保存為文件名為"html2Pdf.pdf"。 這將新創建的PDF儲存在硬盤上。
輸出PDF

第四步:添加頁首和頁尾
using IronPdf;
class Program
{
static void Main()
{
IronPdf.License.LicenseKey = "your key";
// Create a new ChromePdfRenderer object
var Renderer = new ChromePdfRenderer();
// Define HTML content
string htmlContent = "<html><body><h1>IronPDF: An Awesome PDF Generation Library</h1><h1>Report</h1><p>This is a sample report.</p></body></html>";
// Define header and footer HTML
string headerHtml = "<div style='text-align: right;'>Page {page} of {total-pages}</div>";
string footerHtml = "<div style='text-align: center;'>Confidential</div>";
// Convert the HTML content to a PDF document
var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
// Add headers and footers to the PDF document
pdfDocument.AddHtmlHeadersAndFooters(new ChromePdfRenderOptions
{
HtmlHeader= new HtmlHeaderFooter() { HtmlFragment=headerHtml },
HtmlFooter = new HtmlHeaderFooter() { HtmlFragment=footerHtml }
});
// Save the PDF document to a file
pdfDocument.SaveAs("report.pdf");
}
}using IronPdf;
class Program
{
static void Main()
{
IronPdf.License.LicenseKey = "your key";
// Create a new ChromePdfRenderer object
var Renderer = new ChromePdfRenderer();
// Define HTML content
string htmlContent = "<html><body><h1>IronPDF: An Awesome PDF Generation Library</h1><h1>Report</h1><p>This is a sample report.</p></body></html>";
// Define header and footer HTML
string headerHtml = "<div style='text-align: right;'>Page {page} of {total-pages}</div>";
string footerHtml = "<div style='text-align: center;'>Confidential</div>";
// Convert the HTML content to a PDF document
var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
// Add headers and footers to the PDF document
pdfDocument.AddHtmlHeadersAndFooters(new ChromePdfRenderOptions
{
HtmlHeader= new HtmlHeaderFooter() { HtmlFragment=headerHtml },
HtmlFooter = new HtmlHeaderFooter() { HtmlFragment=footerHtml }
});
// Save the PDF document to a file
pdfDocument.SaveAs("report.pdf");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main()
IronPdf.License.LicenseKey = "your key"
' Create a new ChromePdfRenderer object
Dim Renderer = New ChromePdfRenderer()
' Define HTML content
Dim htmlContent As String = "<html><body><h1>IronPDF: An Awesome PDF Generation Library</h1><h1>Report</h1><p>This is a sample report.</p></body></html>"
' Define header and footer HTML
Dim headerHtml As String = "<div style='text-align: right;'>Page {page} of {total-pages}</div>"
Dim footerHtml As String = "<div style='text-align: center;'>Confidential</div>"
' Convert the HTML content to a PDF document
Dim pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent)
' Add headers and footers to the PDF document
pdfDocument.AddHtmlHeadersAndFooters(New ChromePdfRenderOptions With {
.HtmlHeader= New HtmlHeaderFooter() With {.HtmlFragment=headerHtml},
.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment=footerHtml}
})
' Save the PDF document to a file
pdfDocument.SaveAs("report.pdf")
End Sub
End Class代碼片段解釋
- 授權密鑰設置:
- 使用您的唯一IronPDF授權密鑰設置
IronPdf.License.LicenseKey,以啟用程式庫的全部功能。
- 使用您的唯一IronPDF授權密鑰設置
- 創建PDF渲染器:
- 創建一個
ChromePdfRenderer實例,將用於將HTML內容呈現為PDF格式。 這是IronPDF渲染引擎的一部分。
- 創建一個
- 定義HTML內容:
- 創建一個簡單的HTML字串,包含標題、報告頁首和示例報告段落。
- 定義頁眉和頁腳HTML:
- 在上述代碼中,我們已指定自訂的頁首和頁尾HTML字串:
- 頁首包含頁碼格式如"第{page}頁,共{total-pages}頁"並對齊在右側。
- 頁尾包含每頁居中的"機密"字樣。
- 在上述代碼中,我們已指定自訂的頁首和頁尾HTML字串:
- HTML到PDF轉換:
- 調用
RenderHtmlAsPdf()方法將HTML內容轉換為PDF文件。
- 調用
- 添加頁首和頁尾:
- 在pdfDocument對象上調用AddHtmlHeadersAndFooters()方法。 此方法將先前定義的頁首和頁尾添加到生成的PDF中。 使用ChromePdfRenderOptions傳遞頁首和頁尾設置。
- 保存PDF:
- 最後使用
SaveAs()方法將生成的PDF保存為名為"report.pdf"的文件到硬盤上。
- 最後使用
輸出PDF

第五步:包含外部樣式表和腳本
using IronPdf;
class Program
{
static void Main()
{
IronPdf.License.LicenseKey = "your key";
// Create a new ChromePdfRenderer object
var Renderer = new ChromePdfRenderer();
// Define the HTML content with links to external CSS and JS files
string htmlContent = @"
<html>
<head>
<link rel='stylesheet' type='text/css' href='styles.css'>
<script src='script.js'></script>
</head>
<body>
<h1>IronPDF: An Awesome PDF Generation Library</h1>
<h1>Styled Content</h1>
<p id='dynamic-text'>This content is styled using an external CSS file and JavaScript.</p>
</body>
</html>";
// Convert HTML content to a PDF document
var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document to a file
pdfDocument.SaveAs("awesomeIronPDF_styled_content.pdf");
}
}using IronPdf;
class Program
{
static void Main()
{
IronPdf.License.LicenseKey = "your key";
// Create a new ChromePdfRenderer object
var Renderer = new ChromePdfRenderer();
// Define the HTML content with links to external CSS and JS files
string htmlContent = @"
<html>
<head>
<link rel='stylesheet' type='text/css' href='styles.css'>
<script src='script.js'></script>
</head>
<body>
<h1>IronPDF: An Awesome PDF Generation Library</h1>
<h1>Styled Content</h1>
<p id='dynamic-text'>This content is styled using an external CSS file and JavaScript.</p>
</body>
</html>";
// Convert HTML content to a PDF document
var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF document to a file
pdfDocument.SaveAs("awesomeIronPDF_styled_content.pdf");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main()
IronPdf.License.LicenseKey = "your key"
' Create a new ChromePdfRenderer object
Dim Renderer = New ChromePdfRenderer()
' Define the HTML content with links to external CSS and JS files
Dim htmlContent As String = "
<html>
<head>
<link rel='stylesheet' type='text/css' href='styles.css'>
<script src='script.js'></script>
</head>
<body>
<h1>IronPDF: An Awesome PDF Generation Library</h1>
<h1>Styled Content</h1>
<p id='dynamic-text'>This content is styled using an external CSS file and JavaScript.</p>
</body>
</html>"
' Convert HTML content to a PDF document
Dim pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF document to a file
pdfDocument.SaveAs("awesomeIronPDF_styled_content.pdf")
End Sub
End Classstyle.css
/* styles.css */
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
color: #007BFF;
}
p {
font-size: 14px;
line-height: 1.6;
}script.js
// script.js
document.addEventListener('DOMContentLoaded', function() {
var dynamicText = document.getElementById('dynamic-text');
dynamicText.textContent = "This content has been modified by JavaScript.";
});// script.js
document.addEventListener('DOMContentLoaded', function() {
var dynamicText = document.getElementById('dynamic-text');
dynamicText.textContent = "This content has been modified by JavaScript.";
});代碼說明
此代碼展示如何在C#中使用IronPDF從包含鏈接到外部CSS和JavaScript文件的HTML內容中生成PDF。 它顯示如何生成帶有樣式內容和動態行為(通過JavaScript)的PDF。
授權密鑰設置:
- 設置
IronPdf.License.LicenseKey為您的唯一IronPDF授權密鑰,以允許訪問IronPDF程式庫的全部功能。
- 設置
定義包含外部資源的HTML內容:
- 定義的HTML字串包含:
- 一個至外部CSS文件(styles.css)的鏈接以樣式化內容。
- 一個至外部JavaScript文件(script.js)的鏈接,可以為內容添加動態功能。
- HTML內容包括一個標題(
<h1>)、一個副標題和一個帶有IDdynamic-text的段落(<p>),這些由外部CSS進行樣式化,並有可能由JavaScript進行修改。
- 定義的HTML字串包含:
將HTML渲染為PDF:
- 調用
Renderer.RenderHtmlAsPdf()方法,將包含鏈接到的CSS和JavaScript的HTML內容轉換為PDF文件。 請注意,如果外部資源(如CSS和JavaScript)是可訪問的,例如當文件在本地或遠程託管時,IronPDF可以處理這些資源。
- 調用
- 保存PDF:
- 使用
SaveAs()方法將生成的PDF文檔保存為名為"awesomeIronPDF_styled_content.pdf"的文件。
- 使用
注意事項
- 外部CSS和JS文件:要確保鏈接有效,
styles.css和script.js文件應在代碼運行的環境中是可以訪問的。 如果文件是本地的,請確保它們位於正確的目錄中,或者提供文件的完整路徑。 - PDF中的JavaScript:IronPDF可以渲染使用JavaScript進行頁面行為的內容。 然而,需要注意的是,在靜態PDF文件中,JavaScript可能無法如預期般執行,因為PDF並不是像網頁那樣具有動態性。 IronPDF主要在PDF生成前使用JavaScript渲染內容,因此生成PDF後可能無法通過JavaScript進行動態內容操作。
輸出PDF

授權信息(提供試用)
要開始使用IronPDF,您可以訪問試用授權。 如以下所示,將其包含在代碼的開頭:
IronPdf.License.LicenseKey = "your key";IronPdf.License.LicenseKey = "your key";IronPdf.License.LicenseKey = "your key"結論
IronPDF是一個強大且多功能的程式庫,使得將HTML轉換為PDF變得輕鬆簡單。 無論您需要生成簡單文檔還是帶有動態內容的複雜報告,IronPDF都能滿足您的需求。 憑藉其易於使用的API和對頁首、頁尾和外部資源等高級功能的支持,IronPDF是開發人員從HTML內容創建高質量PDF文檔的寶貴工具。 在您下一個專案中試試它,體驗無縫HTML到PDF轉換的便利。
