將 ASPX 頁面轉換為 C# ASP.NET 中的 PDF
using IronPDF 的 AspxToPdf.RenderThisPageAsPdf() 方法將 ASPX 頁面轉換為 PDF,可將任何 ASP.NET 網頁表單即時轉換為可下載的 PDF 文件,同時保留樣式、連結和表單。 無論是生成發票、報告還是文件,此方法都能使用基於 Chrome 的渲染技術確保像素完美的渲染。
本教程將逐步引導您完成 ASPX 到 PDF 的轉換過程。 在ASP.NET網頁應用程式中將ASPX頁面儲存為PDF,完全控制頁眉、頁腳和頁面格式。
using .NET 程式碼自動將 ASPX 文件轉換為 PDF,無需手動瀏覽器列印。 此基於伺服器的方法將 ASPX 內容轉換並儲存為 PDF,使用IronPDF 的渲染能力。
應用設定,包括文件行為和名稱、新增頁眉和頁腳、更改列印選項、新增分頁符號、結合異步和多執行緒等。 IronPDF 支援進階功能,如PDF/A 合規性和數位簽章以滿足企業需求。
快速入門:在數秒內將 ASPX 轉換為 PDF
開始使用 IronPDF 輕鬆將 ASPX 文件轉換為 PDF。 這個簡短的範例展示了如何只用一行程式碼直接將 ASPX 頁面渲染為 PDF 文件。 非常適合希望簡化工作流程並增強 ASP.NET 應用程式的開發者。
最小工作流程 (5步)
- 下載 the ASPX to PDF C# Library
- 選擇您的 ASPX 頁面
- 將 ASPX 文件轉換為 PDF
- 應用轉換器設置並新增頁眉、頁腳
- 在 PDF 文件中建立分頁
如何將 ASPX 文件轉換為 PDF?
Microsoft Web Form Applications for ASP.NET 通常用於開發複雜的網站、網上銀行、內聯網和會計系統。 ASPX 網站的一個常見功能是生成如發票、票或管理報告之類的動態 PDF 文件,供使用者下載。
本教程介紹如何使用 IronPDF 將任何 ASP.NET 網頁表單轉換為 PDF (ASP.NET 到 PDF)。 通常以網頁形式渲染的 HTML 將渲染為 PDF,以供下載或在網頁瀏覽器中查看。 附帶的源專案展示了如何在 ASP.NET 中使用 C# 將網頁轉換為 PDF。
當使用 IronPDF 和其 AspxToPdf Class (/object-reference/api/IronPdf.AspxToPdf.html) 渲染網頁時,我們實現了 HTML 到 PDF 的轉換。 此過程保持所有 CSS 樣式、JavaScript 功能,甚至網路字型在生成的 PDF 中。
如何安裝來自 IronPDF 的 ASPX 文件轉換器?
在Visual Studio中,右鍵單擊您的專案解決方案資源管理器,選擇"管理NuGet包..." 從這裡,搜尋 IronPDF 並安裝最新版本。 點擊所有出現的對話框的確定。
此程式碼適用於在 Framework 4.6.2 和更高版本,或 .NET Core 2 及以上版本的任何 C# .NET Framework 專案。 它同樣適用於 VB.NET 專案。 有關不同平台上的詳細安裝指導,請查看我們的安裝總覽指南。
Install-Package IronPdf
什麼時候應該通過 DLL 而不是 NuGet 安裝?
或者,從下載 IronPDF 套件,然後手動將 IronPDF DLL 安裝到專案或 GAC。 有關 Windows 特定安裝,請參閱我們的Windows 安裝指南。
請記得在使用 IronPDF 的任何 cs 類文件的頂部新增此語句:
: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)
如何將 ASP.NET 網頁轉換為 PDF?
從一個正常的 ASPX "網頁表單" 開始,它會被渲染為 HTML。 之後將 ASPX 頁面轉換為 PDF 文件格式。
在附加的範例源程式碼中,我們渲染了一個商務發票 "Invoice.aspx",一個簡單的 HTML 商務發票渲染為 ASP.NET 頁面。 對於涉及身份驗證和 Cookie的更複雜情況,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 是基於驅動 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 的轉換器設定?
存在許多選項可以調整和完善從 ASPX 文件生成 PDF,使用 .NET Web Forms。 這些設定控制從紙張大小到邊距配置的所有內容。
這些選項在IronPDF API 參考 中完整在線記錄。
如何控制 PDF 顯示行為?
"InBrowser" 文件行為嘗試直接在使用者的瀏覽器中顯示 PDF。 這是現代、符合標準的瀏覽器的常見功能。
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-6.cs
<div style='page-break-after: always;'> </div>
<div style='page-break-after: always;'> </div>
"Attachment" 文件行為導致 PDF 下載。
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-7.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
Imports IronPdf
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment)
如何自定義 PDF 檔名?
透過新增附加參數設置 PDF 文件名。 這控制使用者下載或保存文件時的文件名。
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-8.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
Imports IronPdf
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf")
我可以配置哪些 PDF 列印選項?
透過新增 ChromePdfRenderer 類的實例來控制 PDF 輸出。 ChromePdfRenderer API Reference
: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 表單。Screen或PrintCSS 樣式。 請參閱比較圖像。CustomCssUrl:在渲染之前應用自定義 CSS 至 HTML。 本地文件路徑或遠程 URL。EnableMathematicalLaTex:啟用/禁用 LaTeX 元素渲染。EnableJavaScript:在渲染之前執行 JavaScript。 理想適用於 Ajax/Angular 應用。請參閱WaitFor 指南。JavaScript:自定義 JavaScript 在 HTML 載入後但在渲染之前執行。JavaScriptMessageListener:瀏覽器 JavaScript 控制台消息的回呼。FirstPageNumber:頁眉/頁腳的起始頁碼。 預設值為 1。TableOfContents:在 ID 為 "IronPDF-toc" 的元素生成 TOC。 請參閱TOC 指南。TextHeader:將頁眉內容設置為文字。 支持郵件合併和自動連結 URL。TextFooter:將頁腳內容設置為文字。 支持郵件合併和自動連結 URL。HtmlHeader:使用 HTML 設置頁眉內容。HtmlFooter:使用 HTML 設置頁腳內容。MarginBottom:底邊距(以毫米為單位)。 無邊框為零。MarginLeft:左邊距(以毫米為單位)。 無邊框為零。MarginRight:右邊距(以毫米為單位)。 無邊框為零。MarginTop:頂邊距(以毫米為單位)。 無邊框為零。UseMarginsOnHeaderAndFooter:使用主文件邊距作為頁眉/頁腳的邊距。PaperFit:虛擬紙張佈局管理器。 包括Chrome行為、縮放、自適應 CSS3、比例至頁和連續進紙選項。 請參閱視口指南。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 文件標題元資料。 請參閱元資料指南。InputEncoding:字元編碼。 預設為 UTF-8。 請參閱UTF-8 指南。RequestContext:渲染的請求上下文。Timeout:以秒為單位的渲染超時。
如何在 ASPX PDF 中新增頁眉和頁腳?
using 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
或者,使用支持 CSS、圖片和超連結的 HtmlHeaderFooter 類生成 HTML 頁眉和頁腳。
: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 生成來源的網路 URL。{date}:以系統格式顯示的今日日期。{time}:24 小時格式的時間。{html-title}:來自 ASPX 頁首標籤的標題。{pdf-title}:文件名。
如何向 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 及以上版本構建的。 在 Framework 4.6.2 或更高版本的專案中,異步功能 在處理多個文件時提高效能。
結合異步與多執行緒 CPU 和 Parallel.ForEach 命令能顯著改善大量 PDF 處理。 有關企業部署,請參閱我們的性能優化指南。
我可以在哪裡觀看 ASPX 到 PDF 教學影片?
教程快速存取
在 GitHub 上探索本教程
此 C# ASPX-To-PDF 專案的程式碼可在 GitHub 上獲得,作為 C# 和 VB.NET 的 ASP.NET 網站專案。請繼續在 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()方法將ASPX頁面轉換為PDF。此單行程式碼能瞬間將任何ASP.NET網頁表單轉換為可下載的PDF文件,同時保留所有樣式、連結和表單。
用於將ASPX轉換為PDF的渲染技術是什麼?
IronPDF使用基於Chrome的渲染技術,以確保從ASPX頁生成像素完美的PDF。這種基於伺服器的方法能在生成的PDF中保留所有CSS樣式、JavaScript功能和網頁字體。
將ASPX轉換為PDF時,我可以新增標頭和頁尾嗎?
是的,IronPDF在將ASPX檔案轉換為PDF時提供對標頭、頁尾和頁面格式的完全控制。您可以自定義這些元素以及其他設定,例如分頁符和列印選項。
將ASPX轉換為PDF需要手動瀏覽器列印嗎?
不需要,IronPDF使用.NET程式碼自動將ASPX內容轉換為PDF,無需任何手動瀏覽器列印。整個轉換過程在伺服器端使用IronPDF的渲染能力完成。
將ASPX轉換為PDF時支持哪些企業功能?
IronPDF支持包括PDF/A合規性以便長期存檔和文件驗證的數位簽名等高級企業功能,當將ASPX頁轉換為PDF時。
我可以從ASPX頁中生成哪種型別的文件?
IronPDF通常用於從ASPX頁生成動態PDF文件,如發票、票據、管理報告、文件及其他使用者可以下載或在瀏覽器中查看的商務文件。

