IRONSOFTWAREHOME
使用IRONPDF

如何在UWP應用程式中使用C#構建PDF編輯器

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

IronPDF在.NET Core應用程式中通過HTML到PDF的轉換,利用其Chrome渲染引擎建立PDF文件,支持CSS3、JavaScript、圖像和複雜的佈局,使用簡單的C#程式碼。

在現代網路應用程式中,程式生成PDF文件是一個常見的需求。 無論您是建立發票、報告還是任何基於文件的系統,了解如何在ASP.NET Core中高效建立PDF文件都是必不可少的。 本教程探討了在.NET Core中使用IronPDF建立PDF文件的最佳方法——一個簡化PDF生成的有能力的程式庫。 有關完整的技術細節,請參考官方文件

IronPDF使.NET Core開發者可以使用簡單的HTML和CSS建立PDF文件,通過其直觀的API和渲染引擎消除複雜的手動PDF繪圖操作。該程式庫支持多種部署環境,包括Windows、Linux、macOS和雲平台,如AzureAWS Lambda。 該程式庫的Chrome渲染引擎確保了像素完美的HTML到PDF轉換,全面支持CSS螢幕和列印媒體型別。

如何在.NET Core中開始進行PDF生成?

IronPDF是一個完整的.NET Core PDF程式庫,將複雜的PDF建立轉化為簡單的操作。 不同於需要手動繪製元素的傳統方法,IronPDF使用HTML標記和CSS來生成符合您精確設計要求的PDF文件。 該程式庫在底層使用Chrome渲染引擎,確保了像素完美的HTML到PDF轉換。 這種方法使其成為建立新PDF以及將現有內容轉換為PDF格式的理想選擇。

在評估.NET Core的PDF生成解決方案時,開發人員通常會比較多個選項。 IronPDF從競爭對手中脫穎而出,如iTextAsposeSyncfusion,出於以下幾個原因:

  • 卓越的渲染品質:基於Chrome的引擎確保精確的HTML/CSS保真度
  • 更簡單的API:使用HTML知識而不是複雜的PDF原語來建立PDF
  • 跨平台支持:適用於Windows、Linux、macOS和雲平台的原生二進位程式
  • 完整功能:從基本建立到高級操作和安全

如何安裝IronPDF?

要開始在.NET Core項目中建立PDF,請安裝IronPDF NuGet套件。 使用套件管理器控制台:

PM > Install-Package IronPdf

或者使用.NET CLI:

dotnet add package IronPdf

此安裝為您的網路應用程式提供了立即存取PDF生成功能的能力。 有關更高級的安裝方案,請查看NuGet套件文件或探索Docker部署選項

您如何建立您的第一個PDF文件?

以下範例展示了使用IronPDF的HTML字串到PDF轉換功能生成帶格式內容的PDF。 此方法非常適合從動態內容建立PDF或需要將HTML導出為PDF文件時使用:

using IronPdf;

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

// Define HTML content with styling
var html = @"
    <html>
        <body style='font-family: Arial; margin: 40px;'>
            <h1>Hello World PDF Document</h1>
            <p>This is your first PDF file created with IronPDF!</p>
        </body>
    </html>";

// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);

// Save the PDF document
pdf.SaveAs("output.pdf");

此程式碼通過渲染HTML內容建立了一個新的PDF文件。 ChromePdfRenderer處理轉換,確保您的PDF文件保持一致的格式。 您還可以將PDF保存到記憶流中,以便網路應用程式將文件內嵌返回而不是寫入磁碟。

了解核心組件有助於您有效使用IronPDF:

  • ChromePdfRenderer:將HTML轉換為PDF的主渲染引擎
  • PdfDocument:表示供操作的PDF文件
  • RenderingOptions:控制佈局、邊距、標題和其他設置
  • SecuritySettings:管理密碼、權限和加密

使用HTML進行PDF建立相較傳統PDF API具有顯著優勢。開發者可以使用現有的HTML/CSS技能,CSS框架自然地應用,JavaScript在轉換前渲染,媒體查詢適應PDF尺寸。 更新PDF內容只需更換HTML模板。

PDF檢視器顯示一個簡單的

IronPDF ChromePdfRenderer creating Hello World PDF document with Arial font styling in .NET Core

渲染的PDF展示了IronPDF將帶有CSS樣式的HTML轉換為專業PDF文件的能力。

如何使用高級佈局將HTML轉換為PDF?

IronPDF在將複雜的網頁和HTML內容轉換為專業PDF文件方面表現出色。 HTML到PDF的轉換功能支持現代的CSS3、JavaScript和響應式設計。 該程式庫處理網頁字型、Bootstrap和Flexbox佈局,甚至JavaScript框架。 以下程式碼顯示如何建立帶有表格、圖像和樣式化元素的PDF文件——以及精細化佈局控制:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

// Set viewport and CSS media type
renderer.RenderingOptions.ViewPortWidth = 1024;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var html = @"
    <html>
    <head>
        <style>
            table { width: 100%; border-collapse: collapse; }
            th, td { padding: 10px; border: 1px solid #ddd; }
            th { background-color: #f2f2f2; }
        </style>
    </head>
    <body>
        <h2>Sales Report</h2>
        <table>
            <tr><th>Product</th><th>Quantity</th><th>Total</th></tr>
            <tr><td>Software License</td><td>10</td><td>$500</td></tr>
        </table>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("report.pdf");

IronPDF的Chrome引擎支持廣泛的CSS功能:Flexbox、CSS Grid、浮動、定位、CSS3變換、過渡、動畫、網頁字型、可變字型、特定於印刷的媒體查詢和偽元素選擇器。 您還可以設置自定義邊距和紙張尺寸,並管理字型以支持國際語言。

PDF viewer displaying a professionally formatted Sales Report with a table showing Software License product data including quantity (10) and total ($500), demonstrating IronPDF's advanced table formatting and CSS styling capabilities in .NET Core applications

Advanced IronPDF table rendering with CSS styling showing sales report data in formatted PDF

高級表格格式演示了IronPDF的CSS渲染能力,用於專業商務文件。

如何在ASP.NET Core中整合PDF生成?

在ASP.NET Core MVC中整合PDF生成是簡單的。 IronPDF與ASP.NET Core MVCRazor頁以及Blazor Server應用程式整合。 這是一個完整的實現,展示了一個控制器操作和一個最低限度API端點並排工作的例子:

using Microsoft.AspNetCore.Mvc;
using IronPdf;

// --- MVC Controller approach ---
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();

// Minimal API endpoint
app.MapGet("/api/pdf/{id}", async (int id) =>
{
    var renderer = new ChromePdfRenderer();
    var html = $"<h1>Invoice #{id}</h1><p>Thank you for your purchase!</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    return Results.File(pdf.BinaryData, "application/pdf", $"invoice-{id}.pdf");
});

app.Run();

// --- MVC Controller ---
public class DocumentController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();
        var html = "<h1>Invoice</h1><p>Thank you for your purchase!</p>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf", "document.pdf");
    }
}

控制器方法生成PDF文件並將其作為可下載文件返回,非常適合伺服器端處理。 對於更複雜的場景,考慮使用URL到PDF轉換來直接將即時網頁渲染為PDF。

企業應用程式需要適合其現有基礎設施的可靠PDF生成。 IronPDF處理數以千計的並發PDF請求,生成伺服器端的敏感文件,與相依性注入和中間件一起工作,並可部署到Azure App Service或AWS。 遵循以下指南進行生產就緒PDF生成:在啟動程式碼中註冊IronPDF服務以使用相依性注入,針對常生成的PDF實現快取,使用后備選項優雅地處理錯誤,並使用PDF密碼和權限保護敏感資料。

PDF檢視器顯示發票文件,帶有

ASP.NET Core controller generating invoice PDF with IronPDF showing thank you message

控制器生成的PDF展示了與ASP.NET Core網路應用程式的流暢整合。

如何新增標題、頁腳和合併文件?

IronPDF支持建立PDF的許多高級功能。 您可以新增標題和頁腳插入頁碼,以及合併多個PDF文件。 該程式庫還支持水印數位簽名書籤蓋章文字和圖像,以及建立目錄

using IronPdf;

var renderer = new ChromePdfRenderer();

// Add text header and footer
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Company Report",
    DrawDividerLine = true
};
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    CenterText = "Page {page} of {total-pages}",
    DrawDividerLine = true
};

// Add HTML-based branded header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center'><img src='logo.png' /></div>",
    Height = 30
};

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

var html = "<h1>Annual Report</h1><p>Content goes here...</p>";
var mainPdf = renderer.RenderHtmlAsPdf(html);

// Merge multiple PDFs
var coverPdf = renderer.RenderHtmlAsPdf("<p>Cover Page</p>");
var merged = PdfDocument.Merge(coverPdf, mainPdf);

// Apply security
merged.SecuritySettings.SetPassword("user-password");
merged.SecuritySettings.AllowUserPrinting = true;
merged.SecuritySettings.AllowUserCopyPasteContent = false;

merged.SaveAs("report-with-header.pdf");

這些範例展示如何新增專業化的修飾並將多個文件合併到一個文件中。 專業PDF的關鍵增強功能包括:提供品牌一致性的標題/頁腳,便於多頁導航的頁碼,作為安全性和草案識別的水印,針對長文件的書籤,以及自動目錄生成。 您還可以探索頁面方向和旋轉、PDF壓縮或為長期保存而符合PDF/A的文件。

PDF文件顯示一個專業的年度報告範本,帶有

Professional PDF with custom headers and footers created using IronPDF TextHeaderFooter

專業的標題和頁腳改善了文件呈現和導航。

如何建立互動式PDF表單?

IronPDF可以建立包含多種輸入字段的互動式PDF表單——文字框、複選框、單選按鈕和下拉列表。 您還可以以程式方式填寫和編輯現有的PDF表單。 該程式庫支持表單資料提取,還可以將表單展平,使其不可編輯:

using IronPdf;
using System.IO;

// Create a form from HTML
var html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .form-container { width: 400px; padding: 20px; border: 1px solid #ccc; border-radius: 8px; }
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; font-weight: bold; color: #333; }
        input[type='text'], textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
        textarea { height: 100px; resize: vertical; }
    </style>
</head>
<body>
    <div class='form-container'>
        <h2>Document Generation Test Form</h2>
        <form>
            <div class='form-group'>
                <label for='fullName'>Full Name:</label>
                <input type='text' id='fullName' name='fullName'>
            </div>
            <div class='form-group'>
                <label for='comments'>Comments/Feedback:</label>
                <textarea id='comments' name='comments' placeholder='Type your feedback here...'></textarea>
            </div>
            <div class='form-group'>
                <input type='checkbox' id='agree' name='agree'>
                <label for='agree'>I agree to the terms and conditions.</label>
            </div>
            <button style='padding: 10px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer;'>
                Submit
            </button>
        </form>
    </div>
</body>
</html>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("form.pdf");

// Read back and process form data
var loadedPdf = new PdfDocument("form.pdf");
var fullName = loadedPdf.Form.FindFormField("fullName").Value;
Console.WriteLine($"Full Name: {fullName}");

// Flatten form to prevent further editing
loadedPdf.Form.Flatten();
loadedPdf.SaveAs("processed-form.pdf");

這建立了一個帶有使用者可填寫的表單字段的互動式PDF,非常適合需要使用者輸入的應用程式。 互動式PDF滿足關鍵的業務需求:無需網路表單即可收集資訊,為沒有互聯網存取的使用者提供離線功能,透過已簽名的表單實現合法合規,並且熟悉的PDF介面減少培訓時間。

安全的表單處理需要謹慎注意。 始終驗證和淨化所有表單資料,使用存取控制限制表單字段編輯,記錄所有表單提交以進行審核跟蹤,使用加密保護敏感表單資料,並使用數位簽名驗證表單的真實性。

互動式PDF表單顯示文件生成測試表單,具有可填寫的

IronPDF interactive form with text fields, checkbox, and button demonstrating form creation

互動式表單可在PDF文件中直接進行資料收集。

如何在生產環境中處理性能和錯誤處理?

在生產環境中生成PDF文件時,實施適當的錯誤處理並考慮性能優化。 IronPDF為高容量場景提供異步和多執行緒支持。 您還應實施自定義日誌記錄以進行除錯和監控。 建立渲染器實例具有開銷,因此有效地重用它們是必須的。 以下範例將生產錯誤處理與渲染器重用結合起來:

using IronPdf;
using Microsoft.Extensions.Logging;

// Register a reusable renderer as a singleton in your DI container
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Resilient generation with retry and exponential backoff
async Task<byte[]> GenerateWithRetry(string html, ILogger logger, int maxRetries = 3)
{
    for (int attempt = 1; attempt <= maxRetries; attempt++)
    {
        try
        {
            renderer.RenderingOptions.Timeout = 60;
            var pdf = await Task.Run(() => renderer.RenderHtmlAsPdf(html));
            pdf.SecuritySettings.MakePdfDocumentReadOnly();
            pdf.SecuritySettings.SetPassword("userPassword123");
            logger.LogInformation("PDF generated successfully on attempt {Attempt}", attempt);
            return pdf.BinaryData;
        }
        catch (Exception ex) when (attempt < maxRetries)
        {
            logger.LogWarning(ex, "PDF generation failed, attempt {Attempt} of {MaxRetries}", attempt, maxRetries);
            await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, attempt)));
        }
    }
    throw new InvalidOperationException("Failed to generate PDF after retries");
}

始終驗證輸入資料,優雅地處理例外以確保可靠的PDF生成。 考慮對敏感文件實施PDF權限和密碼以控制列印、複製和編輯權利。

您應該監控哪些度量指標?

監控這些生產PDF生成的關鍵度量指標:

監控IronPDF性能的關鍵生產指標
度量指標用途警報閾值
生成時間性能跟蹤> 10 seconds
記憶體使用資源優化> 500 MB per request
錯誤率可靠性監控> 5% failure rate
隊列長度容量規劃> 100 pending
文件大小儲存優化> 50 MB average

如何跨平台部署和排除PDF生成故障?

IronPDF支持跨不同平台的各種部署方案。 您可以部署到Azure Functions、AWS Lambda或傳統的IIS伺服器。 該程式庫還支持Linux部署,並可在微服務架構的Docker容器中運行。 不同的部署方法提供不同的好處:Docker容器提供一致性,Kubernetes提供水平擴展,無伺服器功能提供彈性擴展,而IronPdfEngine服務提供過程隔離。

您應了解哪些特定平台需求?

每個平台在部署.NET PDF生成時都有獨特的考慮:

IronPDF的平臺特定部署需求和解決方案
平臺關鍵需求解決方案
Linux缺少字型通過apt/yum安裝字型包
Docker文件許可權以非root使用者身份運行
Azure App Service臨時目錄配置可寫路徑
AWS Lambda冷啟動使用預配置併發
macOS程式碼簽名在設置中允許未簽名的程式庫

渲染問題往往源於缺少CSS或JS資產,動態內容的時間問題,缺少伺服器字型或CSS不相容。 有效的除錯從通過renderer.LoggingMode = IronPdf.Logging.LoggingModes.All啟用詳細日誌記錄開始,保存中間HTML以供檢查,並在禁用JavaScript的情況下測試以隔離渲染問題。 記憶體管理也很重要:始終處理PdfDocument物件,將大型工作分塊處理,並設置適當的容器記憶體限制。

有關雲部署,請查看Azure部署指南和AWS Lambda配置文件。 根據Microsoft .NET 文件,.NET 10引入的額外性能改進補充了IronPDF自己的優化。 有關PDF規範的詳細資訊,PDF協會的技術資源提供了理解PDF/A合規性要求的有用背景。 此外,Google的 Chromium 項目文件涵蓋了IronPDF的HTML到PDF引擎所依賴的渲染行為。

您的PDF生成過程的下一步是什麼?

IronPDF將在.NET Core中建立PDF文件的複雜任務轉化為一個簡單、可管理的過程。 從基本的文件建立到帶有表單、圖像和頁面管理的高級功能,這個程式庫提供了以程式方式生成PDF文件的工具。 通過將HTML轉換為PDF,您可以快速載入資料並生成完成文件。 該程式庫對各種PDF標準、無障礙功能和完整文件的支持使其適合企業應用程式。

為什麼IronPDF是.NET項目的正確選擇?

IronPDF作為.NET PDF生成的一個強大的選擇脫穎而出:

  • 企業級準備好:在生產環境中經過實戰檢驗
  • 跨平台:在操作系統中真正的可攜性
  • 積極開發:定期更新並附帶新功能
  • 格式多樣性:支持DOCX到PDF、RTF到PDF、圖像到PDF以及更多轉換
  • 豐富的操作:提取文字和圖像,將PDF光柵化為圖像,刪減內容並存取PDF DOM

如何今天就開始?

採取以下步驟開始您的PDF生成過程:

  1. 安裝IronPDF:通過NuGet新增到您的.NET 10項目中
  2. 嘗試基本範例:從簡單的HTML到PDF轉換開始
  3. 探索高級功能:新增表單、簽名、安全設置
  4. 調整性能:實施快取、異步和渲染器重用
  5. 部署到生產:選擇合適的托管策略

無論您是在構建簡單的報告還是複雜的多頁文件,IronPDF的直觀API和強大的渲染引擎都使其成為.NET開發者的實用選擇。 立即在您的ASP.NET Core應用程式中使用IronPDF的免費試用開始建立專業PDF文件。 準備好將PDF生成功能新增到您的應用程式? 開始使用IronPDF,體驗建立PDF有多簡單。 如需更多學習資源,探索完整教程程式碼範例功能文件

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Related Articles

Key in blue circle

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

bullet_checked無需信用卡或建立帳號
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge related to IronPDF Product Demo

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

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