跳過到頁腳內容
使用IRONPDF

如何使用IronPDF將HTML轉換為PDF

IronPDF 是一款 .NET HTML 轉 PDF 轉換器,它採用 Chrome 的渲染引擎,將 HTML 字串、檔案及網頁轉換為高品質的 PDF 文件,並支援精準的 CSS 渲染與 JavaScript 執行。

將 HTML 轉換為 PDF 是 .NET 開發中一項長期的挑戰。 您需要一個既能處理現代 CSS 佈局、正確執行 JavaScript,又能產出高品質文件,同時仍能輕鬆整合的函式庫。 IronPDF 透過基於 Chrome 的渲染技術解決了這些挑戰,讓您能以瀏覽器級的還原度轉換 HTML 檔案、字串及網頁。 此函式庫運行於 .NET 10 環境,支援 Windows、Linux、macOS 及 Azure 平台,且無需針對各平台配置獨立的渲染引擎。

本文說明如何實作 Professional PDF 生成功能,從基礎轉換到數位簽章和密碼保護等進階功能。 您將逐步了解安裝、設定、核心轉換方法以及部署注意事項。 每個章節均包含使用頂層語句的實用 C# 程式碼,並與 .NET 10 專案相容。

IronPDF C# PDF 庫主頁橫幅展示了其主要功能,包括 HTML 轉 PDF、PDF 編輯功能、靈活的部署選項以及免費試用。

如何為 .NET 選擇合適的 HTML 轉 PDF 函式庫?

選擇 PDF 函式庫將影響渲染品質、維護成本及長期相容性。 關鍵問題在於,該函式庫能否與現代網路技術同步發展。 CSS 網格、Flexbox、JavaScript 渲染的內容以及網頁字型如今已是標準技術——若庫無法可靠地處理這些技術,將迫使您採用預處理的變通方案,這不僅會拖慢開發進度,更會在 HTML 範本演進時引入系統脆弱性。

IronPDF 採用與 Google Chrome 相同的 Blink 引擎。 您的 PDF 檔案呈現效果將與 Chrome 的列印預覽完全一致——不會遺漏樣式、網格佈局不會錯亂,也不會遺失自訂字型。 這種一致性消除了通常伴隨其他 PDF 函式庫而來的手動樣式除錯工作。 您可以將 Chrome 的渲染能力與舊版替代方案進行比較,以評估其針對特定文件類型的渲染忠實度。

現代的網路應用程式仰賴複雜的 CSS 和 JavaScript。 IronPDF 原生支援 CSS3,包括彈性盒模型 (flexbox)、網格系統 (grid systems)、變換 (transforms) 及動畫 (animations)。 引擎會在擷取輸出前處理 JavaScript,確保動態生成的內容在最終 PDF 中正確顯示。 無論您是轉換靜態 HTML 檔案,還是依賴客戶端渲染的網頁,該函式庫都能擷取最終的計算結果——而非中間階段的快照。

ChromePdfRenderer 類別公開了智慧預設值,同時透過其 RenderingOptions 屬性提供了細粒度的控制。 其整合路徑比 QuestPDFSyncfusion 等替代方案更為簡短,後兩者皆需更多配置範本才能產生首份輸出文件。

若考量長期維護,基於 Chrome 的渲染機制意味著該函式庫能持續受益於瀏覽器的改進,無需您手動更新引擎。 較舊的 WebKit 基礎函式庫具有固定的功能集,無法隨著網頁平台一同演進,這會導致當您的前端範本採用新的 CSS 屬性或 JavaScript 模式時,產生相容性負債。 對於已熟悉 HTML 和 CSS 的團隊而言,無需學習新的語言或版面配置模型——您只需像設計網頁一樣設計文件,然後將其渲染為 PDF 即可。

功能概覽儀表板顯示了四個主要的 PDF 功能:建立 PDF、轉換 PDF、編輯 PDF 以及簽名和保護 PDF,每個類別下都有詳細的功能清單。

如何安裝並設定此函式庫?

透過 NuGet 安裝

設定 IronPDF 只需幾分鐘。 請使用 Visual Studio 中的套件管理員主控台或 .NET CLI:

Install-Package IronPdf
Install-Package IronPdf
SHELL
dotnet add package IronPdf
dotnet add package IronPdf
SHELL

這些指令會下載套件及其依賴項,並自動設定專案參照。 此套件包含於執行時解析的特定平台二進位檔,因此您無需另行管理原生函式庫。 針對容器化環境,請參閱 Docker 部署進階安裝選項

設定授權金鑰與全域設定

在呼叫任何 IronPDF 方法之前,請在 Program.cs 中配置許可證金鑰和全域設定。 使用 .NET 10 的頂層語句:

using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
Imports IronPdf

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
IronPdf.Installation.TempFolderPath = "C:\Temp\IronPdf"
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All

Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
app.Run()
$vbLabelText   $csharpLabel

將金鑰儲存於環境變數中,可使其不納入版本控制範圍。 30天試用版提供完整功能供您評估。 請參閱授權文件以了解所有設定選項,包括適用於多租戶情境的執行階段金鑰切換功能。

如何將 HTML 字串轉換為 PDF?

執行基本轉換

RenderHtmlAsPdf 方法接受一個 HTML 字串,並傳回一個 PdfDocument 對象,您可以儲存、串流或進一步操作該物件。 這是從伺服器端範本生成發票、報告和信函的主要入口點:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>")
pdf.SaveAs("invoice.pdf")

' Get binary data for an HTTP response or cloud storage
Dim pdfBytes As Byte() = pdf.BinaryData
$vbLabelText   $csharpLabel

翻譯結果包含可選取文字,以符合無障礙規範。 探索自訂邊距紙張尺寸選項,以根據您的設計調整輸出尺寸。

PDF 檢視器顯示一張簡單的發票,編號為 12345,總金額為 99.99 美元,縮放比例為 100%

套用 CSS 樣式、網頁字型及外部資源

您可以直接將完整的樣式表嵌入 HTML 字串中。 IronPDF 在渲染之前處理 @import 規則和字體引用。 當您的 HTML 引用相對路徑(例如本機樣式表、圖片或腳本)時,請提供一個基路徑作為第二個參數,以便引擎能解析這些路徑:

using IronPdf;

var styledHtml = $@"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
using IronPdf;

var styledHtml = $@"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
Imports IronPdf

Dim styledHtml As String = $"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500)

' Provide a base path if the HTML references local assets
Dim pdf = renderer.RenderHtmlAsPdf(styledHtml, "C:\assets\")
pdf.SaveAs("styled-invoice.pdf")
$vbLabelText   $csharpLabel

CSS 的呈現效果與 Chrome 完全一致。 探索 Google Fonts 的渲染選項網頁字型支援,以及自託管字型整合功能。

! PDF 檢視器顯示 IronPDF for .NET 標誌(白色背景),顯示第 1 頁(共 1 頁),縮放比例為 100%。

如何將 HTML 檔案和即時網址轉換為 PDF?

轉換本地檔案與網頁

RenderHtmlFileAsPdf 方法讀取本機文件,並自動解析相對於該文件目錄的所有連結資源。 RenderUrlAsPdf 方法擷取公用或已驗證的網頁,執行 JavaScript 並等待內容載入後再渲染:

using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
Imports IronPdf

' Convert a local HTML file
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True

Dim filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html")
filePdf.MetaData.Title = "Monthly Sales Report"
filePdf.SaveAs("report-output.pdf")

' Convert a live URL with authentication
Dim secureRenderer As New ChromePdfRenderer()
secureRenderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .Username = "user@example.com",
    .Password = "secure-password"
}
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500)

Dim urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard")
urlPdf.SaveAs("dashboard-snapshot.pdf")
$vbLabelText   $csharpLabel

對於公開訪問的頁面,完全跳過 LoginCredentials 設定。 瞭解基於會話網站的驗證Cookie 管理。 若要正確擷取響應式佈局,請使用 renderer.RenderingOptions.ViewPortWidth 配置視窗寬度並檢視視窗文件

如何添加頁首、浮水印和安全功能?

添加Professional頁首與頁尾

顯示頁碼、日期或品牌標識的頁首與頁尾,能讓多頁文件顯得更易讀且更顯 Professional。 IronPDF 會將其視為 HTML 片段進行處理,因此您可以使用完整的 CSS 樣式,包括圖片和品牌顏色:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 50,
    .HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    .BaseUrl = New Uri("file:///C:/assets/")
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 30,
    .HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    .DrawDividerLine = True
}

renderer.RenderingOptions.MarginTop = 60
renderer.RenderingOptions.MarginBottom = 40

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

類似 {page}{total-pages} 的佔位符會在渲染時自動替換。請參閱頁首和頁尾教學課程,以了解動態日期插入、標誌放置和交替頁面樣式等內容。

套用浮水印、加密與數位簽章

浮水印可保護草稿文件及機密報告。 密碼保護與權限設定可限制哪些使用者能列印、複製或編輯 PDF 檔案。 數位簽章為合約及受監管文件增添了一層可驗證的真實性保障。 您可以將這三者整合於單一工作流程中:

using IronPdf;
using System.安全性.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.安全性Settings.UserPassword = "user123";
pdf.安全性Settings.OwnerPassword = "owner456";
pdf.安全性Settings.AllowUserPrinting = IronPdf.安全性.PdfPrint安全性.NoPrint;
pdf.安全性Settings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
using IronPdf;
using System.安全性.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.安全性Settings.UserPassword = "user123";
pdf.安全性Settings.OwnerPassword = "owner456";
pdf.安全性Settings.AllowUserPrinting = IronPdf.安全性.PdfPrint安全性.NoPrint;
pdf.安全性Settings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
Imports IronPdf
Imports System.Security.Cryptography.X509Certificates

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>")

' Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation:=45,
    opacity:=30
)

' Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserCopyPasteContent = False

' Digital signature
Dim cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password")
Dim signature As New PdfSignature(cert) With {
    .SigningContact = "Jane Smith",
    .SigningLocation = "New York, NY",
    .SigningReason = "Contract Approval"
}
pdf.Sign(signature)
pdf.SaveAsRevision("signed-contract.pdf")
$vbLabelText   $csharpLabel

瞭解浮水印技術PDF 安全性設定,以及包含硬體安全模組 (HSM) 整合的憑證簽署機制。

如何在 Windows、Linux 和 Azure 環境中進行部署?

IronPDF 支援 Windows、Linux 及 macOS,NuGet 套件中已包含各平台的專用二進位檔。 輸出結果在各平台上完全一致,因此您可以在 Windows 上開發,並部署至 Linux 容器,無需修改渲染程式碼。 此套件會自動偵測執行環境,並載入正確的原生元件。 這種跨平台的一致性簡化了 CI/CD 管道——您無需針對每個環境分別設定渲染配置。

在 Azure 應用程式服務中,將許可證金鑰儲存在應用程式設定中,並透過 Environment.GetEnvironmentVariable 引用它。 此方法可避免將憑證存放在您的儲存庫中,並能在無需部署程式碼的情況下進行金鑰輪替。 請參閱完整的 Azure 部署指南以了解主機託管相關設定,並參閱 IIS 部署指南以了解傳統 Windows 伺服器託管。

在 Linux 和 Docker 環境中,Chrome 渲染引擎需要額外的系統依賴項。 將它們加入您的 Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:10.0
RUN apt-get update && apt-get install -y \
    libgdiplus libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 \
    && apt-get clean
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

LinuxAndDockerDependenciesAutoConfig 設定為 true 時,IronPDF 會在首次執行時自動處理依賴關係解析。 請參閱 Linux 部署指南和 Docker 整合指南以獲取完整的依賴項清單。 針對無伺服器工作負載,Azure Functions 指南涵蓋了記憶體與超時設定。

如何探索完整的功能集?

除了 HTML 轉換之外,IronPDF 還涵蓋完整的 PDF 工作流程。 下表概述了主要功能領域:

IronPDF 功能領域
類別特色文件
文檔創建頁首、頁尾、可填寫表單、背景表單指南
安全性數位簽章、加密、資料淨化簽署指南
文檔管理合併、分割、壓縮、符合 PDF/A 標準合併指南
內容處理加蓋、JavaScript 執行、非同步操作標記指南

如需完整的方法參考,請參閱 API 文件程式碼範例庫,其中包含各功能領域的可運作 C# 專案。 "教學"區塊提供針對常見情境(如發票生成、報表自動化及文件歸檔)的逐步操作指南。

接下來該如何開始?

IronPDF 將 HTML 到 PDF 的轉換簡化為三步驟工作流程:從NuGet安裝軟體包,設定許可證金鑰,然後呼叫 RenderHtmlAsPdf。 Chrome 引擎確保精準的渲染效果,而 API 設計則使整合過程簡便易行,即使面對包含自訂頁首、浮水印及數位簽名的複雜多頁文件亦然。

30天試用版提供完整功能,無任何功能限制。 當您準備投入生產環境時,靈活的授權方案可從個人開發者擴展至具有大量需求的Enterprise團隊。 您亦可參閱 Microsoft .NET 文件,以了解該生態系統中文件生成模式的背景脈絡;並查閱官方 PDF 規格文件,以更深入理解該格式的功能與限制。

IronPDF 許可頁面顯示了四個永久許可等級(Lite、Plus、Professional 和 Unlimited),並針對不同團隊規模提供了定價和功能。

請查閱更新日誌以了解近期新增功能,並規劃哪些功能符合您的專案需求。

常見問題解答

IronPDF 有什麼用途?

IronPDF用於在.NET應用程式中將HTML轉換為PDF。它處理現代CSS、JavaScript,並生成高質量的PDF文件。

IronPDF如何處理複雜的HTML佈局?

IronPDF使用基於Chrome的渲染引擎來準確處理複雜的HTML佈局,確保PDF輸出與瀏覽器中看到的效果一致。

IronPDF能在PDF轉換過程中執行JavaScript嗎?

是的,IronPDF能夠執行JavaScript,這對於準確渲染動態內容的PDF輸出至關重要。

IronPDF在.NET應用程式中實現起來容易嗎?

IronPDF設計簡單易於實現和部署,使.NET開發者可輕鬆使用。

IronPDF可以將哪些類型的HTML源轉換為PDF?

IronPDF可以將HTML文件、HTML字串和整個網頁轉換為PDF格式。

IronPDF能保持原HTML在PDF中的質量嗎?

是的,IronPDF生成的PDF文件具有與原HTML內容相同的保真度和高品質。

IronPDF與其他PDF轉換器有何不同?

IronPDF提供無縫的轉換體驗,其基於Chrome的渲染引擎確保與現代網頁標準的兼容性。

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

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