跳過到頁腳內容
使用IRONPDF

在ASP.NET Core中使用C#將HTML轉換為PDF -- IronPDF指南

IronPDF 使用基於 Chrome 的渲染引擎在 ASP.NET 中將 HTML 轉換為 PDF,只需幾行 C# 程式碼即可將您的 HTML 字串、檔案或 URL 轉換為像素級完美的 PDF 文件。

當您的 ASP.NET 應用程式需要按需產生發票、報告或合規性文件時,PDF 輸出的品質至關重要。 最終用戶希望輸出的格式與原始 HTML 完全一致——包括 CSS 樣式、自訂字體和表格佈局。 挑戰在於找到一個能夠處理這種轉換的函式庫,而無需對現代 CSS 或 JavaScript 密集型內容進行複雜的變通處理。

IronPDF是一個專為應對這項挑戰而建立的 C# PDF 庫。 它的 Chrome 渲染引擎以與真實瀏覽器相同的方式處理 HTML,這意味著您的 CSS3 屬性、媒體查詢和 JavaScript 渲染的內容都會在最終文件中正確顯示。 以下各節將介紹安裝、三種核心渲染方法、表單資料處理、進階格式化功能和驗證支援——將生產就緒的 PDF 生成功能整合到您的 ASP.NET Core 應用程式中所需的一切。

如何在 ASP.NET Core 中快速將 HTML 轉換為 PDF?

在 ASP.NET Core 中開始進行HTML 到 PDF 的轉換只需要幾行程式碼。 首先,透過 NuGet 套件管理器安裝 IronPDF:

Install-Package IronPdf

安裝完成後,ChromePdfRenderer 類別將成為所有渲染操作的主要入口點。 以下是一個完整的範例,展示如何在 ASP.NET Core MVC 控制器中將 HTML 字串轉換為可下載的 PDF:

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

    using IronPdf;
    using Microsoft.AspNetCore.Mvc;
    
    // program.cs
    var builder = WebApplication.CreateBuilder(args);
    builder.Services.AddControllersWithViews();
    var app = builder.Build();
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    app.Run();
    
    // PdfController.cs
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            var renderer = new ChromePdfRenderer();
            string html = @"
                <h1>Invoice #2024-001</h1>
                <p>Generated on: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                <table>
                    <tr><th>Item</th><th>Price</th></tr>
                    <tr><td>Professional License</td><td>$799</td></tr>
                </table>";
            var pdf = renderer.RenderHtmlAsPdf(html);
            return File(pdf.BinaryData, "application/pdf", "invoice.pdf");
        }
    }
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer

生成的 PDF 是什麼樣子?

PDF 檢視器顯示一份編號為 #2024-001 的簡單發票文檔,其中包含發票抬頭、生成日期以及一個包含"項目"和"價格"列的表格,表格中包含一項價值 799 美元的專業許可證條目。

ChromePdfRenderer 類別處理所有複雜的渲染,確保您的 HTML 結構、CSS 樣式甚至JavaScript 在最終的 PDF 輸出中正確渲染。 傳回值是一個 PdfDocument 對象,其 BinaryData 屬性可以直接作為檔案下載串流到瀏覽器。

如何為您的來源選擇合適的渲染方法?

IronPDF 提供三種主要的渲染方法,每種方法都針對特定的內容來源而設計。 了解哪種方法適合您的場景,可以避免不必要的複雜性,並保持控制器程式碼的簡潔。

IronPDF 內容來源渲染方法
來源類型 方法 最適合
記憶體中的 HTML 字串 RenderHtmlAsPdf 資料庫驅動的報表、模板化的發票、動態內容
磁碟上的 HTML 文件 RenderHtmlFileAsPdf wwwroot 中的靜態模板,設計機構提供的佈局
即時網頁網址 RenderUrlAsPdf 頁面歸檔,在 JavaScript 渲染後捕獲單頁應用程式 (SPA)

如何轉換動態HTML字串?

處理資料庫驅動報表等動態內容時,請使用 RenderHtmlAsPdf 直接轉換 HTML 字串。 此方法接受任何有效的 HTML 標記,並傳回完全渲染的 PDF 檔案:

var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // your method to generate HTML
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
var renderer = new ChromePdfRenderer();
string htmlContent = BuildDynamicHtml(); // your method to generate HTML
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("dynamic-report.pdf");
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = BuildDynamicHtml() ' your method to generate HTML
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("dynamic-report.pdf")
$vbLabelText   $csharpLabel

IronPDF 測試報告顯示了渲染後的 HTML 內容,並套用了 CSS 樣式,包括藍色標題"IronPDF 測試報告"、綠色樣式段落文字以及包含產品資訊(例如小工具和工具)的格式化資料表。

這種方法非常適合從填充了即時資料、表單提交內容或任何動態生成內容的 HTML 範本產生 PDF 文件。 渲染引擎會保留所有 CSS 樣式,包括自訂字體、顏色和表格格式。 當您的 HTML 使用相對路徑引用外部樣式表或圖像時,請傳遞 baseUrl 作為第二個參數,以便渲染器可以正確解析這些資源。

如何將磁碟上的靜態HTML檔案轉換為文字格式?

對於以實體檔案形式儲存的 HTML 模板,可以使用 RenderHtmlFileAsPdf 直接轉換,無需先將其載入記憶體。這對於大型模板來說效率很高,並且可以避免字串拼接:

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html");
pdf.SaveAs("report.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("wwwroot/templates/report-template.html")
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

此方法會自動解析文件中引用的 CSS 樣式表、圖像和其他外部資源的相對路徑。當您的設計團隊在應用程式的 C# 程式碼庫之外維護單獨的 HTML 範本檔案時,此方法非常有效。 此方法支援CSS 列印媒體查詢自訂字體,因此為列印環境所建置的範本無需額外配置即可忠實呈現。

如何將網頁URL轉換為PDF?

若要擷取即時網頁或將可透過 URL 存取的頁面渲染為 PDF,請使用 RenderUrlAsPdf。 此方法啟動 Chrome 瀏覽器引擎,導航到 URL,等待頁面完全加載,然後捕獲渲染後的輸出:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("webpage.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("webpage.pdf");
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("webpage.pdf")
$vbLabelText   $csharpLabel

維基百科主頁在PDF檢視器中顯示,完整展示了網頁佈局,包括導航、內容板塊、特色文章預覽和維基百科徽標,證明HTML到PDF轉換成功,格式和圖像都得以保留。

WaitFor.RenderDelay 選項告訴渲染器在頁面載入後暫停,然後再進行擷取。 對於在初始 HTML 回應到達後透過 JavaScript 建立 DOM 的單頁應用程式來說,這很有價值。 設定 EnableJavaScript = true 可啟動完整的 Chrome JavaScript 引擎,因此圖表、資料網格和其他 JavaScript 渲染的元件在 PDF 中的顯示方式與瀏覽器中的顯示方式相同。

如何處理表單資料和 POST 請求?

在 ASP.NET 應用程式中,在產生 PDF 之前處理表單資料是一種常見的模式——訂單確認、送貨單和收據都遵循這種模式。 該方法是將提交的表單資料綁定到一個模型,根據該模型建立一個 HTML 字串,然後將該字串渲染為 PDF:

[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    string html = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    string fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
[HttpPost]
public IActionResult ProcessFormToPdf(OrderModel model)
{
    var renderer = new ChromePdfRenderer();
    string html = $@"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {string.Join("", model.Items.Select(i => $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    string fileName = $"order-{model.OrderId}.pdf";
    return File(pdf.BinaryData, "application/pdf", fileName);
}
Imports System
Imports System.Linq
Imports Microsoft.AspNetCore.Mvc

<HttpPost>
Public Function ProcessFormToPdf(model As OrderModel) As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = $"
        <h2>Order Confirmation</h2>
        <p>Customer: {model.CustomerName}</p>
        <p>Order Date: {model.OrderDate:yyyy-MM-dd}</p>
        <ul>
            {String.Join("", model.Items.Select(Function(i) $"<li>{i.Name} -- ${i.Price}</li>"))}
        </ul>
        <p><strong>Total: ${model.Total}</strong></p>"
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim fileName As String = $"order-{model.OrderId}.pdf"
    Return File(pdf.BinaryData, "application/pdf", fileName)
End Function
$vbLabelText   $csharpLabel

表單介面是什麼樣的?

網頁表單介面顯示訂單建立頁面,其中包含客戶詳細資料部分(姓名欄顯示"Jane Doe",日期顯示"2025年11月19日")、訂單項目部分(顯示"筆記型電腦",價格為"1300")、訂單摘要(顯示總金額)以及一個藍色的"生成PDF"按鈕。

表單資料在產生的PDF檔案中如何顯示?

PDF 檢視器顯示了一個清晰的訂單確認文檔,標題為"訂單確認",客戶姓名為"Jane Doe",訂單日期為"2025-11-19",詳細清單顯示了購買筆記型電腦的訂單,金額為 1300 美元,表明表單已成功轉換為 PDF 文件。

對於更進階的文件應用場景,您可以整合PDF 表單或編輯現有的 PDF 範本帶有預先填入欄位。 該庫還支援法律文件和合約的數位簽名,可讓您為任何產生的文件添加加密可驗證的簽名。

將使用者資料嵌入 HTML 字串時,一個重要的考慮因素是資料清理。 為防止注入問題,在將使用者提供的字串插入 HTML 之前,請務必對其進行轉義。 在將範本傳遞給渲染器之前,對每個欄位進行簡單的 System.Web.HttpUtility.HtmlEncode(model.CustomerName) 呼叫可以確保範本安全。

如何添加專業格式、頁首和浮水印?

如何配置頁首、頁尾和浮水印?

專業的 PDF 文件通常需要在每一頁上添加頁首和頁腳,草稿或機密文件還需要添加浮水印。 IronPDF 透過 RenderingOptions 物件的屬性和 ApplyWatermark 產生的 PdfDocument 的方法來處理這兩個問題:

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 20,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
};
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
    30, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs("report-with-watermark.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 25,
    .HtmlFragment = "<div style='text-align:center'>Annual Report 2024</div>"
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 20,
    .HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
}
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.ApplyWatermark("<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>", 30, VerticalAlignment.Middle, HorizontalAlignment.Center)
pdf.SaveAs("report-with-watermark.pdf")
$vbLabelText   $csharpLabel

IronPDF 測試報告顯示,該 PDF 文件附有自訂藍色標題"IronPDF 測試報告"、綠色內嵌文字格式、包含產品資訊的資料表,以及位於頁面對角線位置的紅色"機密"浮水印。

頁腳 HTML 中的 {page}{total-pages} 佔位符會在渲染時自動替換,因此無需任何後期處理即可獲得正確的頁碼。 您還可以添加頁碼背景圖像或前景疊加層,以及自訂文字或圖像印章

如何使用 CSS 列印媒體進行 PDF 佈局控制?

為確保您的 PDF 輸出符合預期,請使用 CSS 規則和設定。 IronPDF 完全支援分頁控制自訂紙張尺寸

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string html = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var pdf = renderer.RenderHtmlAsPdf(html);
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string html = @"
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>";
var pdf = renderer.RenderHtmlAsPdf(html);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.ViewPortWidth = 1024
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 10
renderer.RenderingOptions.MarginRight = 10

Dim html As String = "
    <style>
        @media print {
            .no-print { display: none; }
            body { font-size: 12pt; }
            .page-break { page-break-after: always; }
        }
        @page {
            size: A4;
            margin: 1cm;
        }
    </style>
    <div class='content'>
        <h1>Professional Report</h1>
        <div class='page-break'></div>
        <h2>Section 2</h2>
    </div>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

PDF 文件檢視器以 76% 的縮放比例顯示一份兩頁的專業報告,第一頁標題為"專業報告",第二頁標題為"第二部分",佈局清晰,分頁符正確,並應用了 CSS 格式。

使用列印 CSS 可確保您的 PDF 文件保持專業格式,同時隱藏不必要的網頁元素,例如導覽選單或互動式按鈕。 設定 CssMediaType = PdfCssMediaType.Print 會告訴渲染器套用您的 @media print 規則,而不是螢幕樣式,這通常會移除背景裝飾並調整列印輸出的排版。 您也可以設定每頁的自訂邊距,並控制寬幅或旋轉報表的頁面方向和旋轉

W3C CSS 分頁媒體規格定義了 @pagepage-break-beforewidows 等屬性在分頁輸出中的行為方式。 IronPDF 的 Chrome 引擎嚴格遵循此規範,因此按照 CSS 標準編寫的樣式可以準確地轉換為 PDF,無需手動調整。

如何處理受保護頁面的身份驗證?

對於安全應用程序,IronPDF 支援各種身份驗證方法,包括cookieHTTP 請求標頭網路憑證。 這樣,您就可以渲染需要登入工作階段或基本驗證的頁面:

var renderer = new ChromePdfRenderer();
renderer.RequestContext.Cookies.Add(new Cookie
{
    Name = "SessionId",
    Value = "your-session-token",
    Domain = "example.com"
});
renderer.ChromePdfRenderOptions.HttpLoginCredentials = new HttpLoginCredentials
{
    Username = "user",
    Password = "password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report");
var renderer = new ChromePdfRenderer();
renderer.RequestContext.Cookies.Add(new Cookie
{
    Name = "SessionId",
    Value = "your-session-token",
    Domain = "example.com"
});
renderer.ChromePdfRenderOptions.HttpLoginCredentials = new HttpLoginCredentials
{
    Username = "user",
    Password = "password"
};
var pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report");
Dim renderer = New ChromePdfRenderer()
renderer.RequestContext.Cookies.Add(New Cookie With {
    .Name = "SessionId",
    .Value = "your-session-token",
    .Domain = "example.com"
})
renderer.ChromePdfRenderOptions.HttpLoginCredentials = New HttpLoginCredentials With {
    .Username = "user",
    .Password = "password"
}
Dim pdf = renderer.RenderUrlAsPdf("https://app.example.com/protected/report")
$vbLabelText   $csharpLabel

您也可以使用擁有者密碼和使用者密碼對產生的 PDF 檔案進行加密,從而限制列印、複製或編輯等操作。 將基於驗證的渲染與 PDF 層級的權限結合,您可以控制誰可以產生文件以及收件者取得文件後可以對其進行哪些操作。

對於企業環境,在 Web 請求處理程序中產生 PDF 時,請考慮使用非同步渲染 API 。 非同步渲染使 ASP.NET 執行緒池在 Chrome 引擎處理文件時保持空閒,從而提高了並發負載下的吞吐量。 該庫還支援多執行緒渲染,適用於批次文件生成場景。

為什麼 Chrome 渲染引擎對 HTML 轉 PDF 很重要?

大多數 PDF 生成庫都使用自訂引擎自行解析 HTML。這意味著它們僅支援部分 CSS 屬性,缺乏 JavaScript 執行能力,並且難以處理 CSS Grid 或 Flexbox 等現代佈局技術。 IronPDF 採用了不同的方法,它嵌入了 Chrome 引擎——與 Google Chrome 瀏覽器相同的技術。

實際結果是,任何在 Chrome 中正確顯示的 HTML 頁面都可以透過 IronPDF 正確渲染成 PDF。 這樣就消除了一類常見的錯誤,即由於渲染引擎對 CSS 的解釋與開發人員在設計時使用的瀏覽器不同,導致 PDF 輸出與預期外觀出現偏差。

MDN Web Docs 中關於 CSS 分頁媒體的參考文件Microsoft 的 ASP.NET Core 文件都描述了 IronPDF 透過其基於 Chrome 的基礎所支援的功能。 已經熟悉標準 HTML、CSS 和 JavaScript 的開發人員可以直接將這些知識應用於 PDF 生成,而無需學習單獨的文件佈局語言。

IronPDF 的渲染選項提供了紙張大小、邊距、JavaScript 執行和渲染延遲的控制選項。 該庫可以處理 UTF-8 文字和國際字元集,引用 Google Fonts 或本地文件的 Web 字體,甚至可以將Markdown 文件轉換為 PDF 。 為了滿足存檔或無障礙合規性要求,它支援PDF/APDF/UA輸出格式。 該程式庫可在Windows、Linux 和 macOS上運行,無需額外配置即可部署到AzureAWS

下一步計劃是什麼?

使用 IronPDF 在 ASP.NET C# 中將 HTML 轉換為 PDF,可為您的應用程式提供可靠且與瀏覽器相容的文件產生流程。三種渲染方式——HTML 字串、HTML 檔案和 URL——涵蓋了您在實踐中會遇到的所有內容來源。諸如頁首、頁尾、浮水印和列印 CSS 等高級功能,讓您無需手動對 PDF 進行後處理即可產生專業的輸出。

下一步是安裝 NuGet 套件並執行本指南第一部分中的快速入門範例。之後,您可以閱讀完整的 C# PDF 教程,深入了解文件結構,或查看PDF 編輯指南,學習如何合併、分割、註釋和提取現有 PDF 的內容。

如果您的專案以 Blazor 為目標, Blazor PDF 教學將逐步介紹伺服器端和 WebAssembly 整合。 對於 MVC 項目, MVC Core PDF 指南Razor Pages 指南涵蓋了基於模板的渲染以及 .cshtml 視圖。 為了進行偵錯和效能調優,IronPDF 提供自訂日誌記錄效能指導,以協助識別高容量文件產生工作流程中的瓶頸。

在購買許可證之前,先開始免費試用,在您自己的專案中測試庫的每個功能。 對於生產部署,我們為個人開發者、團隊和企業分發場景提供多種授權選項

常見問題解答

如何在 ASP.NET Core 中將 HTML 轉換為 PDF?

通過NuGet安裝IronPDF,創建一個ChromePdfRenderer實例,並使用您的HTML字串呼叫RenderHtmlAsPdf。渲染器返回一個PdfDocument,其BinaryData您可以流式傳輸到瀏覽器。

IronPDF 為何適合用於 HTML 至 PDF 的轉換?

IronPDF嵌入了Chrome渲染引擎,因此任何在Chrome中正確顯示的HTML頁面都可以正確呈現為PDF,包括CSS3、JavaScript渲染的內容、網頁字體和響應式佈局。

是否可以在 ASP.NET 中使用 IronPDF 生成發票和报告?

是的,從您的數據模型建立一個HTML字串,將其傳遞給RenderHtmlAsPdf,並將BinaryData作為文件下載返回。IronPDF在輸出中保留表格格式、自定義字體和CSS樣式。

IronPDF是否支援CSS列印媒體查詢?

是的,設置RenderingOptions.CssMediaType = PdfCssMediaType.Print以啟用@media print規則,這些規則隱藏導航元素並應用列印優化的排版。

IronPDF能否處理JavaScript渲染的內容?

是的,設置RenderingOptions.EnableJavaScript = true並使用WaitFor.RenderDelay在頁面加載後暫停,讓JavaScript引擎有時間構建DOM,然後再捕獲PDF。

IronPDF是如何處理受保護頁面的驗證的?

IronPDF透過RequestContext.Cookies屬性和ChromePdfRenderOptions.HttpLoginCredentials屬性支援會話Cookie、HTTP標頭和基本驗證憑據。

IronPDF 支持哪些平台?

IronPDF運行於Windows、Linux和macOS上,並可部署到Azure和AWS。它針對.NET 6、.NET 7、.NET 8以及.NET Framework 4.6.2及以上版本進行優化。

IronPDF是否支援PDF/A輸出以供歸檔?

是的,IronPDF支援PDF/A的合規性以進行長期歸檔,並支援PDF/UA以方便存取性。這些輸出模式可以通過SaveAsPdfA和SaveAsPdfUA方法配置。

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

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