使用 C# ASP.NET 將 ASPX 頁面轉換為 PDF
使用 IronPDF 的 `` 方法,透過 C# 將 ASPX 頁面轉換為 PDF,該方法能立即將任何 ASP.NET 網頁表單轉為可下載的 PDF 文件,並完整保留樣式、連結及表單內容。 無論是生成發票、報告或文件,此方法皆透過基於 Chrome 的渲染技術,確保呈現效果精準無誤。
本教學將逐步引導您完成 ASPX 轉 PDF/A 的流程。 在 ASP.NET 網頁應用程式中將 ASPX 頁面儲存為 PDF 檔案,並能完全控制頁首、頁尾及頁面格式。
使用 .NET 程式碼自動將 ASPX 檔案轉換為 PDF——無需手動透過瀏覽器列印。 此基於伺服器的解決方案利用 IronPDF 的渲染功能,將 ASPX 內容轉換並儲存為 PDF 檔案。
套用各項設定,包括檔案行為與名稱、新增頁首與頁尾、變更列印選項、插入分頁符、結合非同步與多執行緒處理等。 IronPDF 支援符合 PDF/A 標準及數位簽章等進階功能,以滿足 Enterprise 需求。
快速入門:數秒內將 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 轉 PDF)。 HTML 通常會渲染為網頁,但本次將渲染為 PDF 格式,供使用者下載或在網頁瀏覽器中檢視。 隨附的原始碼專案示範了如何使用 C# 在 ASP.NET 中將網頁轉換為 PDF。
我們透過 IronPDF 及其 AspxToPdf 類別(/object-reference/api/IronPdf.AspxToPdf.html)渲染網頁時,即可實現 HTML 轉 PDF 的功能。 此流程會完整保留生成的 PDF/A 檔案中的所有 CSS 樣式、JavaScript 功能,甚至網頁字型。
如何安裝 IronPDF 的 ASPX 檔案轉換器?
在 Visual Studio 中,請在專案解決方案資源管理器上按右鍵,然後選取"管理 NuGet 套件..."。 接著,搜尋 IronPDF 並安裝最新版本。 若出現任何對話方塊,請按一下"確定"。
此工具適用於 Framework 4.6.2 及以上版本的任何 C# .NET Framework 專案,或 .NET Core 2 及以上版本。 此工具亦適用於 VB.NET 專案。 如需各平台的詳細安裝說明,請參閱我們的安裝概覽指南。
Install-Package IronPdf
何時應透過 DLL 安裝而非使用 NuGet?
或者,您也可以從"下載 IronPDF 套件"頁面下載 IronPDF DLL,並手動將其安裝至專案或 GAC 中。 關於 Windows 專用的安裝程序,請參閱我們的 Windows 安裝指南。
請記得在使用 IronPDF 的任何 `` 類別檔案頂端加入此陳述:
using IronPdf;
using IronPdf;
Imports IronPdf
如何將 ASP.NET 網頁轉換為 PDF?
請從一個普通的 ASPX"Web Form"開始,該表單會渲染為 HTML。 後續將 ASPX 頁面轉換為 PDF 檔案格式。
在隨附的範例原始碼中,我們渲染了一份商業發票"Invoice.aspx",這是一份以 ASP.NET 頁面形式呈現的簡易 HTML 商業發票。 若涉及更複雜的驗證與 Cookie 情境,IronPDF 提供全面的解決方案。
該 HTML 頁面包含 CSS3 樣式表,並可能包含圖片和 JavaScript。 IronPDF 支援在渲染前執行 JavaScript,確保能精確擷取動態內容。
若要將此 ASP.NET 網頁渲染為 PDF 而非 HTML,請開啟 C#(或 VB.NET)程式碼,並在 `` 事件中加入以下內容:
: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 基於驅動 Google Chrome 的 Chromium 網頁瀏覽器技術所建構。
完整的 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 的顯示行為?
"``" 檔案行為會嘗試直接在用戶的瀏覽器中顯示 PDF。 這是現代、符合標準的瀏覽器所具備的一項常見功能。
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
"``" 檔案行為會導致 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 列印選項?
透過新增 `` 類別的實例,來控制 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 渲染選項包括:
- ``:將 ASPX 表單轉換為可編輯的 PDF 表單。 請參閱建立 PDF 表單。
:或PRINTCSS 樣式。 請參閱對照圖片。- ``:在渲染前將自訂 CSS 套用至 HTML。 本地的檔案路徑或遠端的 URL。
- ``:啟用/停用 LaTeX 元素的渲染。
- ``:在渲染前執行 JavaScript。 非常適合 Ajax/Angular 應用程式。請參閱 WaitFor 指南。
- ``:在 HTML 載入完成後、渲染前執行的自訂 JavaScript 程式碼。
- ``:用於瀏覽器 JavaScript 控制台訊息的回調函式。
- ``:頁首/頁尾的起始頁碼。 預設值為 1。
- ``:在 ID 為 "IronPDF-toc" 的元素處生成目錄。 請參閱目錄指南。
- ``:將標題內容設定為文字。 支援郵件合併與 URL 自動連結功能。
- ``:將頁尾內容設定為文字。 支援郵件合併與 URL 自動連結功能。
- ``:使用 HTML 設定頁首內容。
- ``:使用 HTML 設定頁尾內容。
- ``:底部邊距(單位:毫米)。 零邊界。
- ``:左邊距(單位:公釐)。 零邊界。
- ``:右邊距(單位:公釐)。 零邊界。
- ``:頂部邊距(單位:毫米)。 零邊界。
- ``:在頁首/頁尾使用主文件邊距。
- ``:虛擬紙張版面管理器。 包含 Chrome 行為設定、Zoom、響應式 CSS3、調整至頁面大小,以及連續擷取等選項。 請參閱視口指南。
- ``:PDF 方向 - 橫向或縱向。
- ``:旋轉現有文件中的頁面。 請參閱格式範例。
- ``:使用 System.Drawing.Printing.PaperKind 輸出紙張尺寸。
- ``:以公分為單位設定紙張尺寸。
- ``:以英吋為單位設定紙張尺寸。
- ``:以公釐為單位設定紙張尺寸。
- ``:以像素或點為單位設定紙張尺寸。
- ``:透過生成後調整尺寸,強制設定精確的紙張尺寸。
- ``:列印 HTML 圖片背景。
- ``:輸出灰階 PDF。 參見灰階轉換。
- ``:等待機制的設定:
- ``:不等待的預設渲染。
- ``:自訂等待時間。
- ``:等待字型載入。
- ``:透過 JavaScript 函式觸發渲染。
HTML 元素:根據 ID、名稱、標籤或選擇器等待特定元素。- ``:等待網路閒置狀態(0、2 或自訂)。
- ``:PDF 文件標題元資料。 請參閱元資料指南。
- ``:字元編碼。 預設為 UTF-8。 請參閱 UTF-8 指南。
- ``:渲染的請求上下文。
- ``:渲染超時時間(以秒為單位)。
如何在 ASPX PDF 檔案中新增頁首和頁尾?
透過 IronPDF,可在 PDF 輸出檔中加入頁首與頁尾。 如需進階範例,請參閱我們的完整頁首與頁尾指南。
最簡單的方法是使用 `` 類別,該類別支援包含當前時間和頁碼等動態資料的基本版面配置。
如何實作頁首和頁尾?
: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
或者,您可以使用 `` 類別來生成 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 內容嵌入頁首/頁尾:
- ``:當前頁碼。
- ``:總頁數。
- ``:渲染 PDF 的來源網頁網址。
- ``:以系統格式顯示當日日期。
- ``:24 小時制時間格式。
- ``:來自 ASPX head 標籤的標題。
- ``:文件檔名。
如何在 PDF 檔案中加入分頁?
雖然 HTML 通常會以長頁面的形式呈現,但 PDF 則模擬數位紙張,並被劃分為一致的頁面。 將此程式碼加入您的 ASPX 頁面中,將自動在生成的 PDF 中建立分頁。 如需進階分頁控制功能,請參閱我們的分頁指南。
<div style='page-break-after: always;'> </div>
<div style='page-break-after: always;'> </div>
如何透過非同步與多執行緒來提升效能?
IronPDF 專為 .NET Framework 4.6.2 或 .NET Core 2 及以上版本所設計。 在 .NET Framework 4.6.2 或更高版本的專案中,異步功能可提升處理多份文件時的效能。
將非同步技術與多執行緒 CPU 結合,並搭配 `` 指令,可顯著提升大量 PDF 處理效能。 關於Enterprise部署,請參閱我們的效能優化指南。
哪裡可以觀看 ASPX 轉 PDF 的教學影片?
教學快速連結
在 GitHub 上探索此教學指南
此 C# ASPX 轉 PDF 專案的原始碼已以 ASP.NET 網站專案形式,分別以 C# 和 VB.NET 格式上傳至 GitHub。歡迎在 GitHub 上分叉此專案,以獲取更多關於 IronPDF 的使用協助。若您認識有人詢問"如何將 ASPX 轉換為 PDF?",歡迎將此資訊分享給他們。
C# ASPX 轉 PDF 網站專案 使用 C# 建立 PDF 的進階 ASP.NET 頁面轉 PDF 範例 使用 VB.NET 建立 PDF 的 ASP.NET PDF 範例下載 C# PDF 快速入門指南
為了讓您在 .NET 應用程式中更輕鬆地開發 PDF,我們已將快速入門指南彙整成 PDF 文件。這份"速查表"提供 C# 和 VB.NET 生成及編輯 PDF 的常用函式與範例,可讓您快速上手,並在 .NET 專案中節省使用 IronPDF 的時間。
下載常見問題
如何在 C# 中將 ASPX 頁面轉換為 PDF?
您可以使用 IronPDF 的 AspxToPdf.RenderThisPageAsPdf() 方法,透過 C# 將 ASPX 頁面轉換為 PDF。這行程式碼能立即將任何 ASP.NET 網頁表單轉為可下載的 PDF 文件,同時完整保留所有樣式、連結及表單內容。
ASPX 轉 PDF 採用何種渲染技術?
IronPDF 採用基於 Chrome 的渲染技術,確保能從 ASPX 頁面生成像素級精準的 PDF 檔案。此伺服器端解決方案可完整保留生成的 PDF 檔案中的所有 CSS 樣式、JavaScript 功能及網頁字型。
將 ASPX 轉換為 PDF/A 時,我可以添加頁首和頁尾嗎?
是的,IronPDF 在將 ASPX 檔案轉換為 PDF 時,提供對頁首、頁尾及頁面格式的完全控制。您可以自訂這些元素,並搭配其他設定(如分頁和列印選項)進行調整。
ASPX 轉 PDF 的轉換是否需要透過瀏覽器手動列印?
不,IronPDF 會透過 .NET 程式碼自動將 ASPX 內容轉換為 PDF,無需任何手動的瀏覽器列印操作。整個轉換過程皆在伺服器端進行,並利用 IronPDF 的渲染功能完成。
將 ASPX 轉換為 PDF 時,支援哪些 Enterprise 功能?
IronPDF 支援進階 Enterprise 功能,包括符合 PDF/A 標準的長期歸檔功能,以及在將 ASPX 頁面轉換為 PDF 時用於文件驗證的數位簽章功能。
我可以從 ASPX 頁面產生哪些類型的文件?
IronPDF 常用於從 ASPX 頁面生成動態 PDF 檔案,例如發票、票券、管理報告、文件及其他商業文件,使用者可透過網頁瀏覽器下載或檢視這些檔案。

