IRONSOFTWAREHOME
使用IRONPDF

IronPDF:在 C# 中對齊 W3C 的可存取 HTML 轉換為 PDF

Curtis Chau
Curtis Chau
Updated: 2026年6月20日

IronPDF通過提供基於Chrome的渲染引擎來簡化ASP.NET C#中的PDF生成,該引擎可以直接將HTML、CSS和JavaScript轉換為PDF文件,只需幾行程式碼,消除了傳統PDF API的複雜性。

如果您曾經在ASP.NET C#中生成格式化的PDF文件時感到困難,您就知道這有多麼令人沮喪。 對於專業發票、詳細報告和官方文件的需求是持續的,但傳統PDF API通常因其複雜性而成為障礙。

幸運的是,IronPDF能夠解決這種複雜性。 這個可靠的.NET PDF程式庫簡化了整個過程,為您提供完整的程式碼和工具,以快速生成PDF文件。 無論您部署到Azure還是AWS,IronPDF提供跨雲平台的強大整合。 該程式庫還支援Docker部署,並可以作為遠程容器服務運行,以適應靈活的架構。

什麼使PDF生成在ASP.NET Core中成為必要的?

為什麼企業需要伺服器端的PDF生成?

PDF文件作為跨不同平台和裝置共享格式化內容的通用標準。 在ASP.NET Core應用程式中,生成PDF文件可以讓企業建立專業的發票、詳細的報告和官方文件,無論在何種檢視環境中都能保持其格式。

伺服器端PDF生成提供一致的輸出、更好的安全控制,並消除了對客戶端資源的依賴。 新增數位簽名和設置PDF密碼的能力確保文件的完整性和機密性。 PDF仍然是商業通信中支持最廣泛的文件格式--根據Adobe的文件,該規範是一個開放ISO標準(ISO 32000),使其成為文件交換的可靠長期選擇。

HTML到PDF轉換提供了哪些優勢?

將HTML內容轉換為PDF的能力打開了實用的可能性。 您可以使用現有的HTML和CSS知識來建立美觀格式的PDF文件,而無需學習複雜的PDF特定API。這種方法允許您從現有的網頁、Razor視圖或自定義HTML字串生成PDF文件,幾乎不需費力。

IronPDF支持響應式CSS,並在轉換過程中處理JavaScript執行。 該程式庫支持從MVC Core中的CSHTML文件進行轉換,並可以無頭方式處理CSHTML以進行後台操作。 當您現有的前端模板已經定義了您想要在最終PDF中顯示的視覺布局時,這尤為有用。

基於Chrome的渲染引擎如何簡化PDF建立?

IronPDF的渲染引擎為什麼可靠?

IronPDF通過其基於Chrome的渲染引擎在PDF程式庫中脫穎而出,該引擎確保精確的HTML到PDF轉換。 這個引擎支持現代網路標準,包括CSS3、JavaScript和響應式佈局,使建立與其HTML對應物看起來一模一樣的PDF文件成為可能。

渲染引擎支持自訂字體、網路字體,甚至複雜的WebGL內容,確保像素級的精準結果。 它建立在支持Google Chrome的相同技術上,提供可靠的像素級完美轉換。 該引擎還支持SVG圖形和Base64編碼的圖像,用於自包含的文件。

IronPDF對於.NET開發者來說為什麼實用?

該程式庫的簡單API設計意味著您可以立即開始生成PDF,而無需大量配置。 IronPDF在幕後處理PDF文件建立的複雜性,從管理字體和圖像到正確渲染複雜的佈局。 無論您是需要從簡單的HTML字串生成PDF還是將整個網頁轉換為PDF,這個過程始終保持簡單。

完整的文件和教程使入門變得簡單,而API參考提供詳細的高級方案資訊。 快速入門指南提供快速介紹,程式庫包括廣泛的程式碼範例,適用於常見用例。

如何在ASP.NET Core中安裝.NET PDF程式庫?

安裝有什麼選擇?

使用NuGet包管理器在您的ASP.NET Core項目中設置IronPDF是簡單的。 在Visual Studio中打開您的包管理控制台並運行以下命令,或者使用.NET CLI:

PM > Install-Package IronPdf

dotnet add package IronPdf

對於Windows、Linux或macOS部署,IronPDF提供平台特定的優化。 您還可以在Docker容器中運行IronPDF,或作為遠程服務以適應靈活的架構。 該程式庫支持.NET 10並在所有.NET運行時支持的主要平台上運行。

開始開發是否需要授權?

安裝後,您將可以存取完整的IronPDF程式庫,並立即開始建立PDF文件。 用於生產用途,您需要應用授權金鑰,但免費版本允許完全開發和測試。 授權選項包含各種層級,以滿足不同項目的需求,從個人開發者到企業部署。

第一步:
arrow pointer

如何從HTML字串建立PDF文件?

PDF生成的基本程式碼模式是什麼?

最簡單的開始方式是從HTML字串生成PDF。 這演示了基本的方法--只需幾行程式碼即可生成完整的PDF文件:

using IronPdf;

// Create a renderer
var renderer = new ChromePdfRenderer();

// Generate PDF from HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is my first PDF file in C#!</p>");

// Save the PDF file
pdf.SaveAs("simple-document.pdf");

簡單HTML字串轉換為PDF文件,展示了IronPDF中預設格式的基本標題和段落文字

渲染過程如何工作?

ChromePdfRenderer類處理所有轉換細節,將您的HTML轉換為適當格式的PDF文件。生成的文件在轉換為可攜帶的文件格式時保持HTML結構。 對於更多高級場景,您可以使用渲染器的RenderingOptions屬性設置自定義邊距、配置紙張大小或控制頁面方向。 您還可以將PDF保存到記憶體流中,用於雲儲存場景或從網路端點直接返回。

如何生成具有複雜HTML的PDF文件?

如何建立專業的發票PDF?

IronPDF在將複雜的HTML內容渲染為PDF文件方面表現出色。 以下範例使用頂級語句和C#原生字串文字建立了一個專業的發票文件:

using IronPdf;

var renderer = new ChromePdfRenderer();

// HTML content with styling
string htmlContent = $"""
    <!DOCTYPE html>
    <html>
    <head>
        <style>
            body {{font-family: Arial, sans-serif; margin: 40px;}}
            .header {{background-color: #003366; color: white; padding: 20px; text-align: center;}}
            .invoice-details {{margin: 20px 0;}}
            table {{width: 100%; border-collapse: collapse; margin-top: 20px;}}
            th {{background-color: #f0f0f0; padding: 10px; text-align: left;}}
            td {{padding: 10px; border-bottom: 1px solid #ddd;}}
            .total {{font-size: 18px; font-weight: bold; text-align: right; margin-top: 20px;}}
        </style>
    </head>
    <body>
        <div class='header'><h1>INVOICE</h1></div>
        <div class='invoice-details'>
            <p><strong>Invoice Number:</strong> INV-2024-001</p>
            <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
            <p><strong>Customer:</strong> ABC Corporation</p>
        </div>
        <table>
            <thead>
                <tr><th>Item</th><th>Quantity</th><th>Price</th><th>Total</th></tr>
            </thead>
            <tbody>
                <tr><td>Professional Services</td><td>10</td><td>$150.00</td><td>$1,500.00</td></tr>
                <tr><td>Software License</td><td>1</td><td>$499.00</td><td>$499.00</td></tr>
            </tbody>
        </table>
        <div class='total'>Total Amount: $1,999.00</div>
    </body>
    </html>
    """;

var document = renderer.RenderHtmlAsPdf(htmlContent);
document.SaveAs("invoice.pdf");
C#

從複雜HTML生成的專業商業發票PDF,展示了樣式化的標題、格式化的表格和詳細的計費項目及計算的總值

為什麼CSS樣式在PDF輸出中效果很好?

此程式碼演示了IronPDF如何處理複雜的HTML結構、CSS樣式和動態內容以建立專業的PDF文件。 生成的PDF文件保持所有格式,非常適合商業文件生成。 您可以通過新增水印、應用印章或嵌入圖像進一步改進文件。 IronPDF還支持UTF-8和國際語言,確保全球相容性。

對於高級布局,您可以使用CSS列印媒體改善PDF輸出,新增條形碼或建立互動表單。 該程式庫處理HTML ZIP壓縮檔案,並支持自定義HTTP標頭以獲取已認證的內容,使其足夠靈活以適應生產工作流程。

如何從ASP.NET Core MVC控制器返回PDF文件?

流式傳輸PDF到瀏覽器的最佳方式是什麼?

在ASP.NET Core MVC應用程式中,您通常會在控制器操作中生成PDF文件,並將其返回給使用者下載。 以下範例應用了自定義邊距和CSS媒體設置,使用頂級語句編寫:

using Microsoft.AspNetCore.Mvc;
using IronPdf;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.MapControllers();
app.Run();

[Route("documents")]
public class DocumentController : Controller
{
    [HttpGet("report")]
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();

        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

        string htmlString = """
            <html>
            <head>
                <style>
                    body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
                    h1 { color: #2c3e50; }
                    .report-content { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-content'>
                    <p>This report contains confidential sales data for the current month.</p>
                    <p>Total Revenue: $45,678</p>
                    <p>New Customers: 123</p>
                </div>
            </body>
            </html>
            """;

        var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
        byte[] pdfBytes = pdfDocument.BinaryData;
        return File(pdfBytes, "application/pdf", "sales-report.pdf");
    }
}

ASP.NET MVC控制器生成的PDF銷售報告,具有自定義邊距和列印改善的CSS樣式,以便專業的業務文件輸出

渲染選項如何影響輸出?

此控制器操作生成PDF文件並作為可下載文件返回。渲染選項允許您自定義邊距並指定CSS媒體型別以獲得最佳PDF輸出。 實施過程使用ASP.NET的File()方法將文件作為"sales-report.pdf"返回下載。

對於更複雜的場景,您可以將PDF導出到記憶體中以便進一步處理,或實施異步PDF生成以獲得更好的效能。 IronPDF還支援ASPX頁面轉換,適用於舊系統應用程式,並且與Blazor Server應用程式良好配合,以適應更現代的架構。

如何從URL和HTML文件生成PDF?

可以將現有網頁轉換為PDF嗎?

IronPDF還可以直接將現有的網頁HTML文件轉換為PDF格式。 當您需要從現有內容生成PDF而無需從頭開始重建HTML時,此方法提供了明顯的優勢:

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

// Convert a URL to PDF
var urlPdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
urlPdf.SaveAs("webpage.pdf");

// Convert an HTML file to PDF
var htmlFilePdf = renderer.RenderHtmlFileAsPdf("template.html");
htmlFilePdf.SaveAs("from-file.pdf");

Wikipedia頁面轉換為PDF,保持完整的網頁布局,包括導航、圖片和互動元素,精確的基於Chrome的渲染

關於JavaScript渲染您應該知道什麼?

這兩種方法在建立PDF文件時保留了原始內容的完整布局、圖片和樣式。 WaitFor類提供處理動態內容的高級選項,而自定義渲染延遲確保JavaScript密集的頁面完全呈現並在PDF捕捉前。

您可以處理TLS網站登錄,並使用Cookie來處理已認證的內容。 渲染器支持Angular.js和其他JavaScript框架,並可以在轉換之前執行自定義JavaScript。 根據MDN Web Docs的說法,HTML是網路的基礎,這就是支持完整網路標準的HTML到PDF程式庫是文件生成最通用方法的原因。

如何向PDF文件新增頁眉和頁腳?

為什麼頁眉和頁腳對於專業文件很重要?

為您的PDF文件新增專業的頁眉和頁腳改善其外觀,並提供重要的上下文資訊,如頁碼和文件標題。 您可以通過渲染器的渲染選項配置這兩者:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Company Report</div>",
    DrawDividerLine = true
};

// Configure footer with page number placeholders
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    MaxHeight = 25,
    HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

string content = "<h1>Annual Report</h1><p>This document contains important information.</p>";
var doc = renderer.RenderHtmlAsPdf(content);
doc.SaveAs("report-with-headers.pdf");

專業PDF文件展示自定義HTML頁眉和頁腳,具有自動頁碼和分隔線,用於精美的商業報告

頁碼佔位符如何工作?

{total-pages}佔位符會自動填充正確的頁碼,建立出專業外觀的PDF文件。 該程式庫為您管理複雜性,使您可以將頁碼新增到任何文件中而不需手動計算。

超越基本頁眉,您還可以新增自定義水印、實施分頁符號或為較長的文件建立目錄。 IronPDF亦支持新增附加檔案及建立PDF表單以製作互動式文件。 您可以使用高級HTML頁眉處理複雜布局,新增註釋或管理中繼資料。 該工具庫允許您提取表單資料、繪製形狀和將文字新增到現有的PDF文件中。

什麼是ASP.NET的核心PDF生成特性?

您應該使用哪些PDF生成方法?

下表總結了IronPDF在ASP.NET應用程式中支持的主要PDF生成方法和場景:

IronPDF ASP.NET的PDF生成方法
方法使用案例關鍵優勢
RenderHtmlAsPdf從HTML字串或模板生成完整的CSS和JavaScript支持
RenderUrlAsPdf將現有網頁轉換為PDF完全保留網頁布局
RenderHtmlFileAsPdf將本地HTML文件轉換為PDF可在本地資源中離線運行
頁眉和頁腳新增頁碼和標題自動佔位符替換
MVC控制器返回將PDF直接流式傳輸至瀏覽器不需要文件系統

在ASP.NET C#中使用IronPDF建立PDF將可能複雜的任務轉化為簡單的過程。 從簡單的HTML字串到複雜的發票文件,IronPDF的Chrome渲染引擎確保您的PDF文件看起來完全如預期。 該程式庫的直觀API允許您生成、修改PDF文件,並用最少的程式碼處理現有的PDF文件。

IronPDF支持高級功能,如PDF壓縮、線性化和用於存檔目的的PDF/A合規性。 該程式庫提供完整的文件組織功能,支援多種圖像格式,並可以從現有的PDF中提取文字和圖像。 對於專門的需求,您可以進行灰度轉換、DOCX到PDF轉換,甚至是Markdown到PDF轉換。

IronPDF支持.NET Framework和.NET 10,這使其成為任何ASP.NET項目的長期選擇。 Microsoft .NET文件將.NET 10強調為長期支持版本,增強了為其構建的程式庫將在多年內保持相關性的想法。 您還可以探索PDF到HTML的轉換、將PDF光柵化為圖像以及列印到物理列印機。

如何開始使用免費試用版?

準備在您的.NET應用程式中開始建立專業的PDF文件了嗎? 您可以免費下載IronPDF,今天就開始生成PDF文件--不需要付款就可以評估完整的功能集。

探索演示以查看IronPDF的實際運行,或者深入研究程式碼範例以實現實用應用。 查看與其他程式庫的比較,了解IronPDF如何滿足您的需求。

今天從NuGet安裝IronPDF,體驗正確使用.NET程式庫創造PDF是多麼易於操作。 對於生產部署,請查看最適合您項目需求的完整授權選項。 該程式庫為常見問題提供完整的故障排除指南,以及對複雜情況的工程支援。

Curtis Chau
技術作家

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

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立