使用 C# ASP.NET 將 ASPX 頁面 HTML轉PDF
使用 IronPDF 的 AspxToPdf.RenderThisPageAsPdf() 方法,透過 C# 將 ASPX 頁面轉換為 PDF,該方法能立即將任何 ASP.NET 網頁表單轉為可下載的 PDF 文件,並完整保留樣式、連結及表單內容。 無論是生成發票、報告或文件,這種方法都能確保使用 基於 Chrome 的渲染技術進行像素完美的渲染。
本教學引導您逐步完成 ASPX 到 PDF 的轉換。 在 ASP.NET Web 應用程式中將 ASPX 頁面儲存為 PDF,並可完全控制 頁眉、頁腳 和頁面格式。
使用 .NET 程式碼將 ASPX 檔案自動轉換為 PDF - 無須手動瀏覽器列印。 這種基於伺服器的方法可轉換 ASPX 內容,並使用 IronPDF 的渲染功能將其儲存為 PDF。
套用包括檔案行為與名稱、新增頁首與頁尾、變更列印選項、新增分頁符號、結合同步與多執行緒等設定。 IronPDF 支援進階功能,例如 PDF/A compliance 和 企業需求的數位簽名。
快速入門:數秒內將 ASPX 轉換為 PDF
立即開始使用 IronPDF,輕鬆將 ASPX 檔案轉換為 PDF 檔案。 這個快速範例示範只需一行程式碼,就能將 ASPX 頁面直接呈現為 PDF 文件。 非常適合希望簡化工作流程並增強 ASP.NET 應用程式的開發人員。
如何將 ASPX 檔案轉換為 PDF?
Microsoft Web Form Applications for ASP.NET 常用於開發複雜的網站、線上銀行、內部網路和會計系統。 ASP.NET (ASPX) 網站的一個常見功能是產生動態 PDF 檔案,例如供使用者下載的發票、票據或管理報告。
本教程展示了如何使用 IronPDF 將任何 ASP.NET 網頁表單轉換成 PDF(ASP.NET to PDF)。 HTML 通常呈現為網頁,將呈現為 PDF,以供下載或在網頁瀏覽器中檢視。 所附的原始專案示範在 ASP.NET 中使用 C# 將網頁轉換為 PDF。
我們透過 IronPDF 及其 AspxToPdf Class(/object-reference/api/IronPdf.AspxToPdf.html)渲染網頁時,可實現 HTML 轉 PDF 的功能。 此流程會在生成的 PDF 中保留所有 CSS 造型、JavaScript 功能,甚至 網頁字型。
如何安裝 IronPDF 的 ASPX 檔案轉換器?
在 Visual Studio 中,以滑鼠右鍵按一下專案解決方案資源管理器,然後選擇"管理 NuGet 套件..."。 然後,搜尋 IronPDF 並安裝最新版本。 按一下"確定"以處理任何出現的對話方塊。
可在 Framework 4.6.2 及以上版本或 .NET Core 2 及以上版本的任何 C# .NET Framework 專案中運作。 它也適用於 VB.NET 專案。 如需不同平台的詳細安裝說明,請查看我們的 安裝概述指南。
Install-Package IronPdf
何時應該透過 DLL 而非 NuGet 安裝?
或者,從 下載 IronPDF Package 下載 IronPDF DLL 並將其手動安裝至專案或 GAC。 針對 Windows 的安裝,請參閱我們的 Windows安裝指南。
請記得在使用 IronPDF 的任何 cs 類別檔案頂端加入以下陳述:
using IronPdf;
using IronPdf;
Imports IronPdf
如何將 ASP.NET 網頁轉換為 PDF?
從一般的 ASPX"Web 表單"開始,它會渲染為 HTML。 之後將 ASPX 頁面轉換為 PDF 檔案格式。
在所附範例原始程式碼中,我們渲染了一個名為"Invoice.aspx"的商業發票,這是一個簡單的 HTML 商業發票,以 ASP.NET 頁面的形式呈現。 對於涉及 驗證和 cookies 的更複雜情況,IronPDF 可提供全面的解決方案。
HTML 頁面包含 CSS3 樣式表,也可能包含圖片和 JavaScript。 IronPDF 支援 在渲染前執行 JavaScript,以確保能準確捕捉動態內容。
若要將此 ASP.NET 網頁渲染為 PDF 而非 HTML,請開啟 C# (或 VB.NET) 程式碼,並將此新增至 Page_Load 事件:
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-1.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
這就是全部所需條件; 現在HTML會渲染成PDF。 超連結、樣式表、圖片甚至 HTML 表格都要保留。 這與使用者在瀏覽器中將 HTML 列印成 PDF 的輸出相似。 IronPDF 是基於 Chromium 網路瀏覽器技術構建,該技術也是 Google Chrome 瀏覽器的基礎。
完整的 C# 程式碼如下所示:
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-2.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports IronPdf
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
End Sub
End Class
End Namespace
如何將 ASPX 檔案套用至 PDF 轉換器設定?
使用 .NET Web Forms 從 ASPX 檔案產生 PDF 時,有許多調整與完善的選項。 這些設定可控制從 紙張大小到 邊界配置的一切。
這些選項在IronPDF API 參考文件中有完整的線上說明。
如何控制 PDF 的顯示行為?
"InBrowser" 檔案行為會嘗試直接在用戶的瀏覽器中顯示 PDF。 這是符合標準的現代瀏覽器的共同特色。
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
"Attachment" 檔案行為會觸發 PDF 檔案的下載。
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment)
如何自訂 PDF 檔案名稱?
透過新增參數設定 PDF 文件檔案名稱。 這會控制使用者下載或儲存檔案時的檔案名稱。
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf")
我可以設定哪些 PDF 列印選項?
透過新增 IronPdf.ChromePdfRenderer 類的實例來控制 PDF 輸出。 ChromePdfRenderer API 參考
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-3.cs
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
EnableJavaScript = false,
//.. many more options available
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {.EnableJavaScript = False}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
可用的PDF渲染選項包括:
CreatePdfFormsFromHtml:將 ASPX 表單轉換為可編輯的 PDF 表單。 請參閱 建立 PDF 表單。CssMediaType:Screen或PrintCSS 樣式。 請參閱 比較圖片。CustomCssUrl:在渲染前對 HTML 套用自訂 CSS。 本地檔案路徑或遠端 URL。EnableMathematicalLaTex:啟用/停用 LaTeX 元素的渲染。EnableJavaScript:在渲染前執行 JavaScript。 適用於 Ajax/Angular 應用程式。請參閱 WaitFor 指南。JavaScript:在 HTML 載入完成後、渲染前執行的自訂 JavaScript 程式碼。JavaScriptMessageListener:瀏覽器 JavaScript 控制台訊息的回呼函式。FirstPageNumber:頁首/頁尾的起始頁碼。 預設為 1。TableOfContents:在 ID 為 "ironpdf-toc" 的元素處生成目錄。 請參閱 TOC指南。TextHeader:將標頭內容設為文字。 支援郵件合併與自動連結 URL。TextFooter:將頁尾內容設為文字。 支援郵件合併與自動連結 URL。HtmlHeader:使用 HTML 設定頁首內容。HtmlFooter:使用 HTML 設定頁尾內容。MarginBottom:底部邊距(單位:公釐)。 零為無邊界。MarginLeft:左邊距(單位:公釐)。 零為無邊界。MarginRight:右邊距(單位:公釐)。 零為無邊界。MarginTop:頂部邊距(單位:毫米)。 零為無邊界。UseMarginsOnHeaderAndFooter:請使用主文件的邊距來設定頁首/頁尾。PaperFit:虛擬紙張佈局管理器。 包括 Chrome 行為、縮放、反應式 CSS3、按頁面縮放和連續饋送的選項。 請參閱 viewport 指南。PaperOrientation:PDF 方向 - 橫向或縱向。PageRotation:旋轉現有文件中的頁面。 請參閱 導向範例。PaperSize:使用 System.Drawing.Printing.PaperKind 設定輸出紙張尺寸。SetCustomPaperSizeinCentimeters:以公分為單位設定紙張尺寸。SetCustomPaperSizeInInches:以英吋為單位設定紙張尺寸。SetCustomPaperSizeinMilimeters:以毫米為單位設定紙張尺寸。SetCustomPaperSizeinPixelsOrPoints:以像素或點為單位設定紙張尺寸。ForcePaperSize:透過生成後調整尺寸,強制使用精確的紙張尺寸。PrintHtmlBackgrounds:列印 HTML 圖片背景。GrayScale:輸出灰階 PDF。 請參閱 灰階轉換。WaitFor:等待機制設定:PageLoad:不等待的預設渲染。RenderDelay:任意等待時間。Fonts:等待字型載入。JavaScript:透過 JavaScript 函式觸發渲染。HTML elements:根據 ID、名稱、標籤或選擇器等待特定元素。NetworkIdle:等待網路閒置(0、2 或自訂)。
Title:PDF 文件標題元資料。 請參閱 metadata指南。InputEncoding:字元編碼。 預設為 UTF-8。 請參閱 UTF-8 指南。RequestContext:渲染所需的請求上下文。Timeout:渲染超時(以秒為單位)。
我該如何在 ASPX PDF 中加入頁首和頁尾呢?
使用 IronPDF,可以在 PDF 輸出中加入頁首和頁尾。 如需進階範例,請參閱我們的 完整的標頭與頁尾指南。
最簡單的方法是使用 TextHeaderFooter 類別,它支援具有動態資料 (例如目前時間和頁碼) 的基本排版。
我該如何實現頁首和頁尾呢?
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-4.cs
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
TextHeader = new IronPdf.TextHeaderFooter()
{
CenterText = "Invoice",
DrawDividerLine = false,
Font = FontTypes.Arial,
FontSize = 12
},
TextFooter = new IronPdf.TextHeaderFooter()
{
LeftText = "{date} - {time}",
RightText = "Page {page} of {total-pages}",
Font = IronSoftware.Drawing.FontTypes.Arial,
FontSize = 12,
},
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
}
}
}
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
.TextHeader = New IronPdf.TextHeaderFooter() With {
.CenterText = "Invoice",
.DrawDividerLine = False,
.Font = FontTypes.Arial,
.FontSize = 12
},
.TextFooter = New IronPdf.TextHeaderFooter() With {
.LeftText = "{date} - {time}",
.RightText = "Page {page} of {total-pages}",
.Font = IronSoftware.Drawing.FontTypes.Arial,
.FontSize = 12
}
}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
End Sub
End Class
End Namespace
或者,使用 HtmlHeaderFooter 類別產生 HTML 標題和頁尾,該類別支援 CSS、影像和超連結。
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-5.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspxToPdfTutorial
{
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
MarginTop = 50, // make sufficiant space for an HTML header
HtmlHeader = new IronPdf.HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
}
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace AspxToPdfTutorial
Partial Public Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
.MarginTop = 50,
.HtmlHeader = New IronPdf.HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions)
End Sub
End Class
End Namespace
如我們的範例所示,使用占位符將動態文字或 HTML 合併到頁首/頁尾:
{page}:當前頁碼。{total-pages}:總頁數。{url}:渲染 PDF 所依據的網頁網址。{date}:以系統格式顯示當日日期。{time}:24 小時制時間格式。{html-title}:來自 ASPX head 標籤的標題。{pdf-title}:文件名稱。
如何在 PDF 檔案中加入分頁符號?
HTML 通常會流長成一頁,而 PDF 則是模擬數位紙張,並分成一致的頁面。 將此程式碼加入您的 ASPX 頁面時,會自動在生成的 PDF 中建立分頁符。 如需進階的分頁控制,請參閱我們的 分頁指南。
<div style='page-break-after: always;'> </div>
<div style='page-break-after: always;'> </div>
如何使用 async 和多執行緒提高效能?
IronPDF 適用於 .NET Framework 4.6.2 或 .NET Core 2 及以上版本。 在 Framework 4.6.2 或以上的專案中,async 功能可改善處理多個文件時的效能。
將非同步技術與多執行緒 CPU 結合,並搭配 Parallel.ForEach 指令,可顯著提升大量 PDF 處理效能。 針對企業部署,請參閱我們的 效能最佳化指南。
在哪裡可以觀看 ASPX to PDF 教學影片?
教程快速存取
這個 C# ASPX 轉 PDF 專案的程式碼以 ASP.NET 網站專案的形式發佈在 GitHub 上,提供 C# 和 VB.NET 兩種版本。歡迎在 GitHub 上 fork 我們,取得更多使用 IronPDF 的協助。如果您正在詢問"如何將 ASPX 轉換為 PDF?",請隨意分享此項目。
C# ASPX 轉 PDF 網站項目 使用 C# 建立 PDF 的高級 ASP.NET 頁面轉 PDF 範例 使用 VB.NET 建立 PDF 的 ASP.NET PDF 範例為了讓您更輕鬆地在 .NET 應用程式中開發 PDF,我們編寫了一份快速入門指南,以 PDF 文件的形式呈現。這份"速查表"提供了在 C# 和 VB.NET 中產生和編輯 PDF 的常用函數和範例,可協助您快速上手 IronPDF,節省在 .NET 專案中使用它的時間。
下載探索 IronPDF 的 API 參考資料,概述 IronPDF 所有功能、命名空間、類別、方法欄位和枚數的細節。
查看 IronPDF API 參考常見問題解答
如何在C#中將ASPX頁面轉換為PDF?
您可以使用 IronPDF 的 AspxToPdf.RenderThisPageAsPdf() 方法在 C# 中將 ASPX 頁面轉換為 PDF。這一行代碼就能立即將任何 ASP.NET 網頁表單轉換成可下載的 PDF 文件,同時保留所有樣式、連結與表單。
ASPX 到 PDF 的轉換使用何種渲染技術?
IronPDF 使用基於 Chrome 的渲染技術,確保從 ASPX 頁面產生像素完美的 PDF。這種基於伺服器的方法可在生成的 PDF 中維護所有 CSS 定義、JavaScript 功能和 Web 字體。
將 ASPX 轉換為 PDF 時,可以加入頁首和頁尾嗎?
是的,在將 ASPX 檔案轉換為 PDF 時,IronPDF 可完全控制頁眉、頁腳和頁面格式。您可以自訂這些元素以及其他設定,例如分頁符和列印選項。
ASPX 轉換為 PDF 是否需要手動瀏覽器列印?
不,IronPDF 可使用 .NET 程式碼將 ASPX 內容自動轉換為 PDF,無需任何手動瀏覽器列印。整個轉換過程使用 IronPDF 的渲染功能在伺服器端進行。
將 ASPX 轉換為 PDF 時,支援哪些企業功能?
IronPDF 支援先進的企業功能,包括長期歸檔的 PDF/A 合規性,以及將 ASPX 頁面轉換為 PDF 時,用於文件驗證的數位簽名。
我可以從 ASPX 頁面產生哪些類型的文件?
IronPDF 常用於從 ASPX 頁面產生動態 PDF 檔案,例如發票、票據、管理報告、文件和其他商業文件,使用者可以在網頁瀏覽器中下載或檢視。

