ASPX 到 PDF : 如何使用 IronPDF 將 ASPX 文件轉換為 PDF?

將ASPX頁面轉換為PDF在C# ASP.NET中

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

在C#中使用IronPDF的AspxToPdf.RenderThisPageAsPdf()方法將ASPX頁面轉換為PDF,即時將任何ASP.NET網頁表單轉換為可下載的PDF文件,並保留樣式、鏈接和表單。 無論是生成發票、報告或文件,此方法都使用基於Chrome的渲染技術來確保像素完美的呈現。

本教程將逐步指導您完成ASPX到PDF的轉換過程。 在ASP.NET網頁應用程序中將ASPX頁面存為PDF,並完全控制頁眉、頁腳和頁面格式。

使用.NET代碼自動將ASPX文件轉換為PDF,無需手動瀏覽器列印。 這種基於伺服器的方法將ASPX內容轉換並保存為PDF,使用IronPDF的渲染功能

應用設置包括文件行為和名稱、添加頁眉和頁腳、更改列印選項、添加分頁符號、結合異步和多線程等。 IronPDF支持高級功能,如PDF/A合規性數位簽名以滿足企業需求。

快速入門:在幾秒鐘內將ASPX轉換為PDF

使用IronPDF輕鬆開始將ASPX文件轉換為PDF。 這個快速例子展示了如何通過僅一行代碼直接將ASPX頁面渲染為PDF文件。 非常適合希望精簡其工作流程並增強其ASP.NET應用程序的開發者。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

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

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer

如何將ASPX文件轉換為PDF?

ASP.NET的Microsoft Web表單應用程序常用於開發精密的網站、網上銀行、內部網和會計系統。 ASP.NET (ASPX)網站的一個常見功能是生成用戶可下載的動態PDF文件,如發票、票券或管理報告。

本教程展示了如何使用IronPDF將任何ASP.NET網頁表單轉換為PDF (ASP.NET到PDF)。 HTML通常作為網頁呈現,將呈現為PDF以供下載或在網頁瀏覽器中查看。 附帶的源項目演示了如何使用C#在ASP.NET中將網頁轉換為PDF。

當使用IronPDF及其AspxToPdf Class (/object-reference/api/IronPdf.AspxToPdf.html)渲染網頁時,我們實現了HTML到PDF的轉換。 這一過程保留了PDF中所有CSS樣式、JavaScript功能,甚至包括網頁字體

如何安裝IronPDF的ASPX文件轉換器?

在Visual Studio中,右鍵單擊項目解決方案資源管理器並選擇"管理NuGet包..."。 從那裡搜索IronPDF並安裝最新版本。 單擊任何出現的對話框中的OK。

這適用於任何C# .NET Framework項目,從Framework 4.6.2及其以上,或.NET Core 2及其以上版本。 它也適用於VB.NET項目。 有關跨不同平台的詳細安裝說明,請查閱我們的安裝概覽指南

Install-Package IronPdf

從NuGet下載IronPDF

我什麼時候應該通過DLL而不是NuGet安裝?

或者,從下載IronPDF包下載IronPDF DLL,並將其手動安裝到項目或GAC中。 有關特定於Windows的安裝,請參見我們的Windows安裝指南

記得在使用IronPDF的任何cs類文件頂部添加此語句:

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

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

從一個普通的ASPX"網頁表單"開始,這個表單會作為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);
$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);
        }
    }
}
$vbLabelText   $csharpLabel

如何應用ASPX文件到PDF轉換器設置?

存在許多選項可以微調和完善使用.NET Web表單從ASPX文件生成的PDF。 這些設置控制從紙張大小邊距配置的所有內容。

這些選項在IronPDF API 參考中在線完整記錄。

如何控制PDF顯示行為?

"InBrowser"文件行為嘗試直接在用戶瀏覽器中顯示PDF。 這是現代合規標準瀏覽器的一個常見功能。

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

"Attachment"文件行為會導致下載PDF。

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");
$vbLabelText   $csharpLabel

我可以配置哪些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);
$vbLabelText   $csharpLabel

可用的PDF渲染選項包括:

  • CreatePdfFormsFromHtml:將ASPX表單轉換為可編輯的PDF表單。 請參見創建PDF表單
  • Print CSS樣式。 請參見對比圖片
  • CustomCssUrl:在渲染前對HTML應用自定義CSS。 本地文件路徑或遠程URL。
  • EnableMathematicalLaTex:啟用/禁用LaTeX元素渲染。
  • EnableJavaScript:在渲染前執行JavaScript。 適用於Ajax/Angular應用程序。請參見WaitFor指南
  • JavaScript:在HTML加載後但渲染前執行自定義JavaScript。
  • JavaScriptMessageListener:瀏覽器JavaScript控制台消息的回調。
  • FirstPageNumber:頁眉/頁腳的起始頁碼。 預設為1。
  • TableOfContents:在ID為"ironpdf-toc"的元素生成目錄。 請參見目錄指南
  • TextHeader:將頁眉內容設為文本。 支持郵件合併和自動鏈接URLs。
  • TextFooter:將頁腳內容設為文本。 支持郵件合併和自動鏈接URLs。
  • 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中?

使用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);
        }
    }
}
$vbLabelText   $csharpLabel

或者,使用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);
        }
    }
}
$vbLabelText   $csharpLabel

在我們的示例中使用占位符將動態文本或HTML合併到頁眉/頁腳中:

  • {page}:當前頁碼。
  • {total-pages}:總頁數。
  • {url}:PDF來源網址。
  • {date}:系統格式的當前日期。
  • {time}:24小時格式的時間。
  • {html-title}:來自ASPX頭標籤的標題。
  • {pdf-title}:文檔文件名。

如何將分頁添加到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及其以上版本構建的。 在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網站項目 用於創建PDF的高級ASP.NET頁面到PDF示例(C#) 用於創建PDF的ASP.NET PDF示例(VB.NET)
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 功能和 Web 字體。

將 ASPX 轉換為 PDF 時,可以加入頁首和頁尾嗎?

是的,在將 ASPX 檔案轉換為 PDF 時,IronPDF 可完全控制頁眉、頁腳和頁面格式。您可以自訂這些元素以及其他設定,例如分頁符和列印選項。

ASPX 轉換為 PDF 是否需要手動瀏覽器列印?

不,IronPDF 可使用 .NET 程式碼將 ASPX 內容自動轉換為 PDF,無需任何手動瀏覽器列印。整個轉換過程使用 IronPDF 的渲染功能在伺服器端進行。

將 ASPX 轉換為 PDF 時,支援哪些企業功能?

IronPDF 支援先進的企業功能,包括長期歸檔的 PDF/A 合規性,以及將 ASPX 頁面轉換為 PDF 時,用於文件驗證的數位簽名。

我可以從 ASPX 頁面產生哪些類型的文件?

IronPDF 常用於從 ASPX 頁面產生動態 PDF 檔案,例如發票、票據、管理報告、文件和其他商業文件,使用者可以在網頁瀏覽器中下載或檢視。

Curtis Chau
技術作家

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

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

準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。