跳過到頁腳內容
使用IRONPDF

如何在ASP.NET中將網頁轉換為PDF

使用 IronPDF 的 ChromePdfRenderer 類,在 ASP.NET 中將網頁轉換為 PDF 非常簡單,只需幾行 C# 程式碼即可將 HTML 字串、URL 和 ASPX 頁面轉換為高品質的 PDF 文件。

在 ASP.NET 應用程式中,當需要產生可下載的報表、發票或存檔文件時,將 Web 內容轉換為 PDF 是最常見的需求之一。 IronPDF 為您提供了一條在 ASP.NET 中將網頁轉換為 PDF 的直接途徑,它可以處理從簡單的 HTML 字串到完全渲染的動態網頁的一切內容——無需安裝任何第三方瀏覽器或進行複雜的配置。

本指南將介紹 IronPDF 中可用的主要轉換方法,從基本的 HTML 字串渲染到基於 URL 的頁面擷取和 ASP.NET Web Forms 整合。 最後,你將擁有每種場景的可運行 C# 程式碼,並清楚地了解何時使用每種方法。

如何安裝設定 IronPDF?

在轉換任何內容之前,請將 IronPDF 安裝到您的 ASP.NET 專案中。 本函式庫透過NuGet分發,並可與 .NET 6、.NET 8、.NET 10 和 .NET Framework 搭配使用:

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

安裝完成後,在 C# 檔案頂部新增命名空間:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

IronPDF 可與 ASP.NET Web Forms 和 ASP.NET Core 應用程式搭配使用。 它支援Windows Server 和 IIS 部署Docker 容器化Azure FunctionsAWS Lambda ,適用於雲端原生架構。 請查看安裝概述,以了解特定平台的設定詳情和 Linux 部署說明。

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--

如何將HTML字串轉換為PDF?

ChromePdfRenderer 類別是 IronPDF 中產生 PDF 的主要入口點。 當您擁有 HTML 內容字串時(無論是動態產生的還是從範本載入的),RenderHtmlAsPdf 方法會將其直接轉換為 PDF 文件。

這種方法非常適合產生報表、發票和收據,您可以透過程式設計方式從資料庫記錄或應用程式資料建立 HTML。 渲染器使用與現代瀏覽器相同的基於 Chromium 的引擎來處理 HTML,因此 CSS 佈局、Web 字體和標準 HTML5 元素都能正確渲染。

using IronPdf;

var renderer = new ChromePdfRenderer();

string htmlContent = @"
    <h1>Quarterly Sales Report</h1>
    <p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
    <table>
        <thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
        <tbody>
            <tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
            <tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
            <tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
        </tbody>
    </table>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("quarterly-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string htmlContent = @"
    <h1>Quarterly Sales Report</h1>
    <p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
    <table>
        <thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
        <tbody>
            <tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
            <tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
            <tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
        </tbody>
    </table>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("quarterly-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim htmlContent As String = "
    <h1>Quarterly Sales Report</h1>
    <p>Q3 2025 -- Summary of key revenue metrics and product performance.</p>
    <table>
        <thead><tr><th>Product</th><th>Units</th><th>Revenue</th></tr></thead>
        <tbody>
            <tr><td>Widget A</td><td>320</td><td>$8,960</td></tr>
            <tr><td>Widget B</td><td>150</td><td>$6,750</td></tr>
            <tr><td>Widget C</td><td>210</td><td>$3,055.30</td></tr>
        </tbody>
    </table>"

Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("quarterly-report.pdf")
$vbLabelText   $csharpLabel

如果您的 HTML 使用相對路徑引用外部樣式表或圖像,請將基本目錄作為第二個參數提供。 這告訴 IronPDF 在哪裡解析這些引用:

using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <link rel='stylesheet' href='styles.css'>
    <h1>Company Report</h1>
    <div>Annual Summary</div>";

// Provide the base path so the renderer can locate relative resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Reports\Assets\");
pdf.SaveAs("annual-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string html = @"
    <link rel='stylesheet' href='styles.css'>
    <h1>Company Report</h1>
    <div>Annual Summary</div>";

// Provide the base path so the renderer can locate relative resources
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\Reports\Assets\");
pdf.SaveAs("annual-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim html As String = "
    <link rel='stylesheet' href='styles.css'>
    <h1>Company Report</h1>
    <div>Annual Summary</div>"

' Provide the base path so the renderer can locate relative resources
Dim pdf = renderer.RenderHtmlAsPdf(html, "C:\Reports\Assets\")
pdf.SaveAs("annual-report.pdf")
$vbLabelText   $csharpLabel

! PDF 檢視器正在顯示 2025 年第三季銷售報告,其中包含一個匯總表,顯示了產品銷售數據,包括數量和單價,總計 18,765.30 美元已突出顯示以供查看。

有關資源處理的更多信息,請參閱基本 URL 和資源編碼指南以及HTML 轉 PDF 教程,了解包括 DataURI 圖像嵌入在內的高級渲染技術。

如何將URL轉換為PDF?

當您需要擷取現有網頁(無論是內部應用程式路由或公用 URL)時,IronPDF 的 RenderUrlAsPdf 方法會取得完整的頁面內容並將其轉換為 PDF。 輸出結果將完全保留瀏覽器中渲染的樣式、圖像和佈局。

渲染靜態網頁

對於主要提供靜態內容的頁面,只需呼叫 RenderUrlAsPdf 即可。 此方法可自動處理 SSL 憑證、重新導向和內容編碼:

using IronPdf;

var renderer = new ChromePdfRenderer();

// 選項al: wait a short time for the page to finish loading
renderer.Rendering選項s.WaitFor.RenderDelay(500);

var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia-pdf-article.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// 選項al: wait a short time for the page to finish loading
renderer.Rendering選項s.WaitFor.RenderDelay(500);

var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia-pdf-article.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' 選項al: wait a short time for the page to finish loading
renderer.RenderingOptions.WaitFor.RenderDelay(500)

Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("wikipedia-pdf-article.pdf")
$vbLabelText   $csharpLabel

使用 JavaScript 或身份驗證渲染頁面

對於需要身份驗證或使用JavaScript動態載入資料的頁面,請使用適當的憑證和等待策略來配置渲染器:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable JavaScript for pages that load content after the initial HTML response
renderer.Rendering選項s.EnableJavaScript = true;
renderer.Rendering選項s.WaitFor.NetworkIdle(500);

// Provide credentials for authenticated internal pages
renderer.LoginCredentials = new ChromeHttpLoginCredentials()
{
    NetworkUsername = "service-account",
    NetworkPassword = "secure-password"
};

var pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly");
pdf.SaveAs("monthly-report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable JavaScript for pages that load content after the initial HTML response
renderer.Rendering選項s.EnableJavaScript = true;
renderer.Rendering選項s.WaitFor.NetworkIdle(500);

// Provide credentials for authenticated internal pages
renderer.LoginCredentials = new ChromeHttpLoginCredentials()
{
    NetworkUsername = "service-account",
    NetworkPassword = "secure-password"
};

var pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly");
pdf.SaveAs("monthly-report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Enable JavaScript for pages that load content after the initial HTML response
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.NetworkIdle(500)

' Provide credentials for authenticated internal pages
renderer.LoginCredentials = New ChromeHttpLoginCredentials() With {
    .NetworkUsername = "service-account",
    .NetworkPassword = "secure-password"
}

Dim pdf = renderer.RenderUrlAsPdf("https://app.internal/reports/monthly")
pdf.SaveAs("monthly-report.pdf")
$vbLabelText   $csharpLabel

維基百科首頁展示了多個內容版塊,包括關於2019年冠軍賽斯諾克錦標賽的專題文章、最新新聞和科普知識,說明了複雜的網頁佈局在轉換為PDF格式時是如何保留的

對於使用會話 cookie 或 Windows 驗證的網站,請查看TLS 和系統登入指南。 請參閱完整的PDF 文件 URL,以了解完整的配置選項列表,包括 cookie 處理和自訂 HTTP 標頭。

如何在 ASP.NET Web Forms 中將 ASPX 頁面轉換為 PDF?

對於 ASP.NET Web Forms 應用程序,IronPDF 提供了 AspxToPdf 類,該類可將目前呈現的 ASPX 頁面直接轉換為 PDF,而無需單獨的 HTTP 請求或重新呈現頁面內容。

基本單行 ASPX 轉換

在頁面事件處理程序中呼叫 RenderThisPageAsPdf(),IronPDF 會攔截回應並將其替換為 PDF 下載:

using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    // Configure paper settings before rendering
    IronPdf.AspxToPdf.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
    IronPdf.AspxToPdf.Rendering選項s.MarginTop = 20;
    IronPdf.AspxToPdf.Rendering選項s.MarginBottom = 20;

    // Convert the current ASPX page to PDF and send it to the browser
    IronPdf.AspxToPdf.RenderThisPageAsPdf(
        IronPdf.AspxToPdf.FileBehavior.InBrowser,
        "invoice-" + DateTime.UtcNow.ToString("yyyy-MM-dd") + ".pdf"
    );
}
using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    // Configure paper settings before rendering
    IronPdf.AspxToPdf.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
    IronPdf.AspxToPdf.Rendering選項s.MarginTop = 20;
    IronPdf.AspxToPdf.Rendering選項s.MarginBottom = 20;

    // Convert the current ASPX page to PDF and send it to the browser
    IronPdf.AspxToPdf.RenderThisPageAsPdf(
        IronPdf.AspxToPdf.FileBehavior.InBrowser,
        "invoice-" + DateTime.UtcNow.ToString("yyyy-MM-dd") + ".pdf"
    );
}
Imports IronPdf

Protected Sub Page_Load(sender As Object, e As EventArgs)
    ' Configure paper settings before rendering
    IronPdf.AspxToPdf.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
    IronPdf.AspxToPdf.Rendering選項s.MarginTop = 20
    IronPdf.AspxToPdf.Rendering選項s.MarginBottom = 20

    ' Convert the current ASPX page to PDF and send it to the browser
    IronPdf.AspxToPdf.RenderThisPageAsPdf(
        IronPdf.AspxToPdf.FileBehavior.InBrowser,
        "invoice-" & DateTime.UtcNow.ToString("yyyy-MM-dd") & ".pdf"
    )
End Sub
$vbLabelText   $csharpLabel

PDF 檢視器顯示了一個已轉換的 ASP.NET Web Forms 頁面,頁面上有一個藍色的"將此頁面轉換為 PDF"按鈕,並保留了應用程式的樣式和標題,這表示在測試環境中 Web 到 PDF 的轉換已成功完成。

此方法可以捕獲頁面生命週期中產生的所有 HTML 結構、樣式和動態內容。 有關 ASPX 轉換選項的完整列表,請參閱ASPX 轉 PDF 指南進階設定範例

如何在PDF文件中新增頁首和頁尾?

專業報告和發票都標配頁首和頁尾。 IronPDF 支援基於文字和基於 HTML 的頁首和頁腳,並內建了用於動態值(如頁碼和當前日期)的佔位符。

文字和 HTML 標頭

TextHeaderFooter 類別可讓您在每頁的左側、中間和右側定義簡單的文字。 類似 {page}{total-pages}{date} 這樣的佔位符會在渲染過程中自動填入。 當您需要帶有徽標和自訂佈局的品牌標題時,請改用 HtmlHeaderFooter -- 其 HTML 片段由與文件主體相同的渲染引擎處理:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Simple text header with divider line
renderer.Rendering選項s.TextHeader = new TextHeaderFooter()
{
    CenterText = "Quarterly Financial Report",
    LeftText = "Document ID: {document-id}",
    RightText = "{date:yyyy-MM-dd}",
    DrawDividerLine = true,
    FontSize = 10,
    FontFamily = "Arial"
};

// HTML footer with branded layout
renderer.Rendering選項s.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
                    display: flex; justify-content: space-between;'>
            <span>© 2026 Enterprise Corp</span>
            <span>Page {page} of {total-pages}</span>
            <span>Classification: Internal</span>
        </div>",
    MaxHeight = 40
};

renderer.Rendering選項s.MarginTop = 40;
renderer.Rendering選項s.MarginBottom = 40;

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

var renderer = new ChromePdfRenderer();

// Simple text header with divider line
renderer.Rendering選項s.TextHeader = new TextHeaderFooter()
{
    CenterText = "Quarterly Financial Report",
    LeftText = "Document ID: {document-id}",
    RightText = "{date:yyyy-MM-dd}",
    DrawDividerLine = true,
    FontSize = 10,
    FontFamily = "Arial"
};

// HTML footer with branded layout
renderer.Rendering選項s.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
                    display: flex; justify-content: space-between;'>
            <span>© 2026 Enterprise Corp</span>
            <span>Page {page} of {total-pages}</span>
            <span>Classification: Internal</span>
        </div>",
    MaxHeight = 40
};

renderer.Rendering選項s.MarginTop = 40;
renderer.Rendering選項s.MarginBottom = 40;

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

Dim renderer = New ChromePdfRenderer()

' Simple text header with divider line
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
    .CenterText = "Quarterly Financial Report",
    .LeftText = "Document ID: {document-id}",
    .RightText = "{date:yyyy-MM-dd}",
    .DrawDividerLine = True,
    .FontSize = 10,
    .FontFamily = "Arial"
}

' HTML footer with branded layout
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "
        <div style='border-top: 1px solid #ccc; padding: 8px; font-size: 10px;
                    display: flex; justify-content: space-between;'>
            <span>© 2026 Enterprise Corp</span>
            <span>Page {page} of {total-pages}</span>
            <span>Classification: Internal</span>
        </div>",
    .MaxHeight = 40
}

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

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

PDF 檢視器顯示一份每月報告,報告包含正確格式的頁首(包括文件標題和合規資訊)、頁尾(包含頁碼和分類標記),體現了專業的企業文件標準。

有關可用佔位符和高級品牌模式的完整列表,請參閱頁眉和頁腳文件

如何設定 PDF 頁面版面配置與渲染選項?

IronPDF 透過 Rendering選項s 屬性,讓您可以完全控制頁面佈局、邊距、DPI 和 CSS 渲染行為。 在這裡可以配置紙張尺寸、列印與螢幕 CSS 以及互動式表單產生。

關鍵渲染選項

using IronPdf;

var renderer = new ChromePdfRenderer();

// Set paper dimensions and orientation
renderer.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
renderer.Rendering選項s.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

// Define margins (values in millimeters)
renderer.Rendering選項s.MarginTop = 25;
renderer.Rendering選項s.MarginBottom = 25;
renderer.Rendering選項s.MarginLeft = 19;
renderer.Rendering選項s.MarginRight = 19;

// Use print-specific CSS rules and set output DPI
renderer.Rendering選項s.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.Rendering選項s.DPI = 300;

// Preserve HTML form elements as interactive PDF form fields
renderer.Rendering選項s.CreatePdfFormsFromHtml = true;

var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>");
pdf.SaveAs("configured-output.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Set paper dimensions and orientation
renderer.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
renderer.Rendering選項s.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;

// Define margins (values in millimeters)
renderer.Rendering選項s.MarginTop = 25;
renderer.Rendering選項s.MarginBottom = 25;
renderer.Rendering選項s.MarginLeft = 19;
renderer.Rendering選項s.MarginRight = 19;

// Use print-specific CSS rules and set output DPI
renderer.Rendering選項s.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.Rendering選項s.DPI = 300;

// Preserve HTML form elements as interactive PDF form fields
renderer.Rendering選項s.CreatePdfFormsFromHtml = true;

var pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>");
pdf.SaveAs("configured-output.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Set paper dimensions and orientation
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait

' Define margins (values in millimeters)
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 19
renderer.RenderingOptions.MarginRight = 19

' Use print-specific CSS rules and set output DPI
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.DPI = 300

' Preserve HTML form elements as interactive PDF form fields
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Custom Layout Document</h1><p>Content with configured layout.</p>")
pdf.SaveAs("configured-output.pdf")
$vbLabelText   $csharpLabel

PDF 檢視器正在顯示一個自訂佈局的文檔,該文檔具有正確的格式、標題和結構化的內容部分,演示了各種 PDF 自訂選項和專業的文檔外觀。

下表總結了主要渲染選項及其對輸出的影響:

常見的 IronPDF 渲染選項
選項 目的 範例值
紙張大小 設定紙張尺寸(Letter、A4、Legal 等) PdfPaperSize.A4
MarginTop / MarginBottom 設定頁面邊距(單位:毫米) 25
DPI 輸出解析度-數值越高,列印品質越好 300
`CssMediaType 選擇螢幕並列印 CSS 規則 PdfCssMediaType.Print
`EnableJavaScript 啟用或停用渲染期間的 JavaScript 執行 true
CreatePdfFormsFromHtml 將 HTML 表單元素轉換為互動式 PDF 表單 true
WaitFor.RenderDelay 在捕獲之前添加延遲,以允許 JS 執行 500 (毫秒)

有關可用選項的完整參考,請參閱渲染選項指南。 相關指南涵蓋了響應式 CSS 處理頁面分隔符號控制,以應對常見的佈局挑戰。

如何在 ASP.NET Core MVC 中產生 PDF?

在 ASP.NET Core MVC 中,您可以使用 File() 從控制器操作直接返回 PDF。 此模式是將內部 URL 或 HTML 字串渲染為 PdfDocument 對象,然後以 application/pdf MIME 類型返回其二進位資料。

從控制器操作返回 PDF

以下範例渲染內部報告 URL 並將結果下載為文件。 Microsoft ASP.NET Core MVC 文件詳細介紹了基本類別和傳回類型:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportsController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();

        renderer.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
        renderer.Rendering選項s.MarginTop = 20;
        renderer.Rendering選項s.MarginBottom = 20;

        // Add a text footer with page numbers
        renderer.Rendering選項s.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page} of {total-pages}",
            FontSize = 9
        };

        // Build the URL to the internal report page and render it
        string reportUrl = $"{Request.Scheme}://{Request.Host}/reports/quarterly";
        var pdf = renderer.RenderUrlAsPdf(reportUrl);

        return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportsController : Controller
{
    public IActionResult GeneratePdf()
    {
        var renderer = new ChromePdfRenderer();

        renderer.Rendering選項s.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
        renderer.Rendering選項s.MarginTop = 20;
        renderer.Rendering選項s.MarginBottom = 20;

        // Add a text footer with page numbers
        renderer.Rendering選項s.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page} of {total-pages}",
            FontSize = 9
        };

        // Build the URL to the internal report page and render it
        string reportUrl = $"{Request.Scheme}://{Request.Host}/reports/quarterly";
        var pdf = renderer.RenderUrlAsPdf(reportUrl);

        return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class ReportsController
    Inherits Controller

    Public Function GeneratePdf() As IActionResult
        Dim renderer As New ChromePdfRenderer()

        renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20

        ' Add a text footer with page numbers
        renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
            .CenterText = "Page {page} of {total-pages}",
            .FontSize = 9
        }

        ' Build the URL to the internal report page and render it
        Dim reportUrl As String = $"{Request.Scheme}://{Request.Host}/reports/quarterly"
        Dim pdf = renderer.RenderUrlAsPdf(reportUrl)

        Return File(pdf.BinaryData, "application/pdf", "quarterly-report.pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

! PDF 檢視器顯示 2025 年第三季的季度銷售報告,其中包含一個詳細的數據表,列出了四種產品的數量和單價,總金額為 18,765.30 美元,展示了專業的報告格式和正確的表頭。

有關 Razor 視圖渲染,請參閱CSHTML 到 PDF 的轉換不使用 HTTP 的 Razor 視圖渲染。 如果您的應用程式處理大量 PDF 請求,請檢查非同步 PDF 生成,以了解非阻塞生成模式,從而在負載下保持應用程式的回應能力。

IronPDF 支援哪些安全性和合規性功能?

除了基本的 PDF 生成功能外,IronPDF 還包含一系列功能,以滿足需要文件安全、長期存檔或無障礙合規性的組織的需求。 這些對於金融、醫療保健、法律和政府應用領域尤其重要,因為這些領域的文件必須符合既定的監管標準。

文件安全

密碼保護和權限功能讓您可以控制誰可以開啟、列印、編輯或複製 PDF 中的內容。 有關配置詳情,請參閱權限和密碼指南

IronPDF 支援使用X.509 憑證進行數位簽名,包括為具有嚴格金鑰管理要求的組織提供的基於 HSM 的簽名。 請查看數位簽名指南

存檔和無障礙合規性

對於受監管行業的長期文件存檔,IronPDF 可以將標準 PDF 轉換為PDF/A 格式——這是 ISO 規定的存檔級文件標準。

為了滿足第 508 節和 WCAG 無障礙要求,IronPDF 支援產生符合PDF/UA 標準的標籤的無障礙 PDF。

內容編輯與元數據

使用編輯功能可以永久刪除敏感訊息,該功能可以消除內容而不留下可恢復的痕跡。 對於審計追蹤和文件分類,您可以透過元資料指南設定作者、建立日期、關鍵字和自訂元資料欄位。

如何開始免費試用?

IronPDF 提供免費試用許可證,其中包括本指南中介紹的所有功能—PDF 產生、安全控制、頁首和頁尾以及合規功能。 無需信用卡即可開始測試。

若要探索更多功能,請查看完整的 API 參考程式碼範例庫,其中包含涵蓋最常見 PDF 場景的工作實作。 如果您是第一次使用 IronPDF,快速入門指南將為您提供一個明確的起點。

對於生產部署,可以探索PDF 壓縮以減小檔案大小, PDF 合併和分割以進行文件管理,以及透過 IronOCR 的 OCR 功能從掃描文件中提取文字。 Iron Software 的所有產品都採用相容的授權協議,可以在同一應用程式中一起使用。

常見問題解答

如何在ASP.NET中將網頁轉換為PDF?

您可以使用IronPDF,一個.NET程式庫,在ASP.NET應用程式中將網頁轉換為PDF。它允許您只需幾行C#程式碼即可從HTML內容生成專業的PDF文件。

在ASP.NET中將HTML轉換為PDF的典型用例是什麼?

常見的用例包括生成報告、創建發票和提供PDF格式的可下載內容,這些內容來自ASP.NET應用程式中的網頁。

IronPDF適合生成專業級別的PDF嗎?

是的,IronPDF被設計用來將HTML和網頁轉換為高品質的專業PDF文件,使其適合商業和企業應用。

在ASP.NET應用程式中使用IronPDF有多容易?

IronPDF使用起來非常友好。它允許開發者用最少的程式碼將HTML轉換為PDF,使其易於整合到現有的ASP.NET應用程式中。

IronPDF可以處理包含CSS和JavaScript的複雜網頁嗎?

是的,IronPDF能處理包含CSS和JavaScript的複雜網頁,確保生成的PDF保留原始網頁的外觀和感覺。

是否可以使用IronPDF自動化網頁的PDF生成?

當然可以。IronPDF可以集成到自動化工作流程中,以程式化方式在ASP.NET應用程式中從網頁生成PDF。

IronPDF是否支持直接將HTML文件轉換為PDF?

是的,IronPDF不僅允許您將網頁轉換為PDF,也可以將本地HTML文件直接轉換為PDF文件。

使用IronPDF進行PDF轉換需要使用哪種程式語言?

IronPDF使用C#來在ASP.NET應用程式中將HTML和網頁轉換為PDF。

IronPDF能夠從動態網頁內容中生成PDF嗎?

是的,IronPDF可以處理動態網頁內容,確保生成的PDF反映轉換時網頁的最新版本。

使用 IronPDF 進行 HTML 至 PDF 轉換的好處是什麼?

IronPDF提供了一種強大而簡單的方法來將HTML轉換為PDF,優點包括使用方便、高品質輸出、支持複雜佈局以及自動化功能。

Curtis Chau
技術作家

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

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

鋼鐵支援團隊

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