ASPX 轉 PDF:如何使用 IronPDF 將 ASPX 檔案轉換為 PDF?

使用 C# ASP.NET 將 ASPX 頁面轉換為 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 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 應用程式的開發人員。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 請複製並執行此程式碼片段。

    IronPdf.AspxToPdf.RenderThisPageAsPdf();
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPDF

    arrow pointer

如何將 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

從 NuGet 下載 IronPDF

何時應透過 DLL 安裝而非使用 NuGet?

或者,您也可以從"下載 IronPDF 套件"頁面下載 IronPDF DLL,並手動將其安裝至專案或 GAC 中。 關於 Windows 專用的安裝程序,請參閱我們的 Windows 安裝指南

請記得在使用 IronPDF 的任何 `` 類別檔案頂端加入此陳述:

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

如何將 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)
$vbLabelText   $csharpLabel

以上即為全部要求; 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
$vbLabelText   $csharpLabel

如何套用 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)
$vbLabelText   $csharpLabel

"``" 檔案行為會導致 PDF 檔案被下載。

IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment)
$vbLabelText   $csharpLabel

如何自訂 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")
$vbLabelText   $csharpLabel

我可以設定哪些 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)
$vbLabelText   $csharpLabel

可用的 PDF 渲染選項包括:

  • ``:將 ASPX 表單轉換為可編輯的 PDF 表單。 請參閱建立 PDF 表單
  • :PRINT CSS 樣式。 請參閱對照圖片
  • ``:在渲染前將自訂 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
$vbLabelText   $csharpLabel

或者,您可以使用 `` 類別來生成 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
$vbLabelText   $csharpLabel

如範例所示,請使用佔位符將動態文字或 HTML 內容嵌入頁首/頁尾:

  • ``:當前頁碼。
  • ``:總頁數。
  • ``:渲染 PDF 的來源網頁網址。
  • ``:以系統格式顯示當日日期。
  • ``:24 小時制時間格式。
  • ``:來自 ASPX head 標籤的標題。
  • ``:文件檔名。

如何在 PDF 檔案中加入分頁?

雖然 HTML 通常會以長頁面的形式呈現,但 PDF 則模擬數位紙張,並被劃分為一致的頁面。 將此程式碼加入您的 ASPX 頁面中,將自動在生成的 PDF 中建立分頁。 如需進階分頁控制功能,請參閱我們的分頁指南


<div style='page-break-after: always;'>&nbsp;</div>

<div style='page-break-after: always;'>&nbsp;</div>
HTML

如何透過非同步與多執行緒來提升效能?

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 範例
Github Icon related to 教學快速連結
Html To Pdf Icon related to 教學快速連結

下載 C# PDF 快速入門指南

為了讓您在 .NET 應用程式中更輕鬆地開發 PDF,我們已將快速入門指南彙整成 PDF 文件。這份"速查表"提供 C# 和 VB.NET 生成及編輯 PDF 的常用函式與範例,可讓您快速上手,並在 .NET 專案中節省使用 IronPDF 的時間。

下載

查看 API 參考

請參閱 IronPDF 的 API 參考文件,其中詳述了 IronPDF 所有功能、命名空間、類別、方法、欄位及枚舉的詳細資訊。

查看 IronPDF API 參考手冊
Documentation related to 教學快速連結

常見問題

如何在 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 檔案,例如發票、票券、管理報告、文件及其他商業文件,使用者可透過網頁瀏覽器下載或檢視這些檔案。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。