將 ASPX 頁面轉換為 PDF 在 ASP.NET 中
本 ASPX 轉 PDF 教程將指導您逐步了解如何將 ASPX 轉換為 PDF。 將 ASPX 頁面保存為 ASP.NET 網頁應用程序中的 PDF。
使用者絕不應該在 Google Chrome 中打開帶有 .aspx 檔案擴展名的 ASPX 檔案。 我們要求我們的工程團隊使用 .NET 代碼自動將 ASPX 轉換為 PDF。! 我們永遠不需要按下 CTRL P!可以透過伺服器端將ASPX網路媒體轉換成PDF並保存。
應用設置,包括設置文件行為和名稱、添加頁眉和頁腳、更改打印選項、添加分頁符、結合異步和多線程等。
簡單步驟將ASPX文件轉換為PDF
- 下載 ASPX 轉 PDF C# 程式庫
- 選擇您的 ASPX 頁面
- 將 ASPX 文件轉換為 PDF
- 應用 ASPX 到 PDF 轉換器設定並添加頁首、頁尾
- 在 PDF 文件中創建分頁符
如何將 ASPX 檔案轉換成 PDF
ASP.NET 的 Microsoft Web Form 應用程式常用於開發複雜的網站、線上銀行、內部網和會計系統。 ASP.NET的一個常見特性(ASPX)網站的目的是生成動態PDF文件,如發票、票證或管理報告,供用戶以PDF格式下載。
本教程展示了如何使用 .NET 的 IronPDF 軟體組件將任何 ASP.NET 網頁表單轉換成 PDF。(ASP.NET 轉換為 PDF). HTML 通常呈現為網頁,將用於渲染為 PDF,以便在網頁瀏覽器中下載或查看。 附帶的原始專案將向您展示如何在ASP.NET中使用C#將網頁轉換為PDF。
我们实现了这种HTML到PDF的转换(將 ASPX 轉換為 PDF)使用 IronPDF 渲染網頁時AspxToPdf工具類別。
1. 從 IronPDF 安裝 ASPX 檔案轉換器免費版
立即開始在您的專案中使用IronPDF,並享受免費試用。
查看 IronPDF 上 Nuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。
Install-Package IronPdf
請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip
手動安裝到您的項目中
下載DLL透過NuGet安裝
在 Visual Studio 中,右鍵單擊您的項目解決方案資源管理器並選擇“管理 NuGet 套件...”。 從那裡開始搜索 IronPDF 並安裝最新版本... 點擊確定以處理彈出的任何對話框。
這適用於任何C# .NET Framework項目,從框架 4.6.2 及以上版本,或.NET Core 2 及以上版本。 它在VB.NET項目中也同樣適用。
Install-Package IronPdf
https://www.nuget.org/packages/IronPdf
透過 DLL 安裝
或者,可以從以下位置下載 IronPDF DLL 並手動安裝到專案或 GAC https://ironpdf.com/packages/IronPdf.zip
請記得將此語句添加到使用IronPDF的任何cs類文件的頂部: 請提供內容以進行翻譯。 使用 IronPdf; 請提供內容以進行翻譯。
將ASP.NET網頁轉換為PDF
我們從一個正常的ASPX「Web Form」開始,它渲染為HTML。 稍後我們將 將 ASPX 頁面轉換為 PDF 檔案格式。
在附加的示例源代码中,我们渲染了一个商业发票“Invoice.aspx”,一个简单的HTML商业发票作为ASP.NET页面渲染。
HTML頁面包含CSS3樣式表,也可能包括圖片和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# 程式碼完整如下:在 Active Server Pages 中將 ASPX 頁面轉換為 PDF。
: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
3. 應用 ASPX 檔案至 PDF 轉換器設定
在使用 .NET Web Forms 生成的過程中將 ASPX 文件轉換為 PDF 時,有許多選項可以進行調整和完善。
這些選項在線上有完整的文件記載。API 參考頁面.
3.1. 設定 PDF 檔案行為
"InBrowser" 檔案行為試圖直接在使用者的瀏覽器中顯示 PDF。 這並不是每個網路瀏覽器都能做到的,但通常是符合現代標準的瀏覽器的共同特性。 請提供內容以進行翻譯。 IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser); 請提供內容以進行翻譯。
"附件" 文件行為導致 PDF 被下載。 請提供內容以進行翻譯。 IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment); 請提供內容以進行翻譯。
3.2. 設定 PDF 檔案名稱
我们还可以通过添加一个额外的参数来设置PDF文档的文件名。 這意味著當用戶決定下載或保留文件時,我們可以控制文件的名稱。 當我們將 ASPX 頁面儲存為 PDF 時,將會使用此名稱命名 PDF 文件。 請提供內容以進行翻譯。 IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf"); 請提供內容以進行翻譯。
3.3 變更 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 表單。
- CssMediaType
Screen
或Print
CSS 樣式和樣式表。 See our完整深入的教學,並附有對比圖像. - CustomCssUrl 允許在渲染前將自訂 CSS 樣式表應用於 HTML。 可能是本地文件路徑,或遠程URL。
- EnableMathematicalLaTex 啟用或禁用數學 LaTeX 元素的渲染。
- 啟用JavaScript 在頁面渲染之前啟用JavaScript和JSON執行。 適用於從 Ajax / Angular 應用程式列印。 另請參閱等待Fot.
- Javascript 指定在所有 HTML 加載完成後但在 PDF 渲染之前執行的自訂 JavaScript 字串。
- JavascriptMessageListener 當瀏覽器JavaScript控制台消息變得可用時,將調用的方法回調。
- FirstPageNumber 標題和頁腳的第一頁頁碼。 預設值為1。
- TableOfContents 在HTML文件中找到具有id "ironpdf-toc"的元素位置生成目錄。
- TextHeader 為每個PDF頁面設置頁腳內容為文本。 支援「郵件合併」並自動將網址轉換為超連結。
- TextFooter 設定每個 PDF 頁面的頁首內容為文本。 支援「郵件合併」並自動將網址轉換為超連結。
- HtmlHeader 使用內容字串或HTML設置每個PDF頁面的頁眉內容。
- HtmlFooter 設定每個PDF頁面的頁腳內容,使用內容字符串或甚至HTML。
- MarginBottom 底部 PDF 紙張邊距,以毫米為單位。 設為零則為無邊框的pdf。
- MarginLeft PDF 紙張左邊邊界,單位為毫米。 設為零則為無邊框的pdf。
- MarginRight PDF紙張右邊邊距,以毫米計。 設為零則為無邊框的pdf。
- MarginTop PDF 紙張上邊距,單位為毫米。 設為零則為無邊框的pdf。
- UseMarginsOnHeaderAndFooter 指定在渲染頁首和頁尾時是否使用主文檔的邊距值。
- PaperFit:一個用於設置虛擬紙張佈局的管理器,用於控制內容在PDF「紙張」頁面上的佈局方式。 包括默認 Chrome 行為、縮放、響應式 CSS3 布局、按頁面比例縮放和連續進紙式 PDF 頁面設置的選項。
- PaperOrientation PDF 文件的紙張方向。 Landscape 或 Portrait。
- 頁面旋轉 從現有文件進行頁面旋轉。 完整說明及配套範例程式碼.
- PaperSize 使用 System.Drawing.Printing.PaperKind 設定 PDF 頁面的輸出紙張大小。
- SetCustomPaperSizeinCentimeters 設定紙張大小(以公分為單位)。
- SetCustomPaperSizeInInches設定紙張大小為英寸。
- SetCustomPaperSizeinMilimeters 設置紙張尺寸為毫米。
- 設置自定義紙張尺寸(以像素或點為單位) 設置屏幕像素或打印點的紙張尺寸。
- ForcePaperSize 指定是否在從 HTML 生成 PDF 後通過調整頁面大小來強制頁面大小正好符合 PaperSize 的指定。
- PrintHtmlBackgrounds 列印 HTML 圖像背景。
- 灰階 輸出灰階的 PDF,使用灰色調而非全彩。
- WaitFor 一個包裝物件,用於保存等待機制的配置。 在考慮渲染JavaScript、Ajax或動畫時,這可能會很有用。
- PageLoad:預設渲染,無需等待。
- RenderDelay:設定任意等待時間。
- 字體:等待所有字體載入完成。
- JavaScript:使用 JavaScript 函數觸發渲染。
- HTML元素:等待特定的HTML元素,如元素ID、名稱、標籤名和查詢選擇器來定位元素。
- NetworkIdle:等待網路閒置(0、2 或自訂数量).
- 標題 PDF文件「標題」元數據。
- InputEncoding 輸入字符編碼作為字符串。 UTF-8 是 ASP.NET 的預設值.
- RequestContext 指定渲染的請求上下文。
- 逾時。 渲染超時(秒)。
4. 為 ASPX PDF 添加頁首和頁尾
使用 IronPDF,可以在 PDF 輸出中添加頁眉和頁腳。
使用 TextHeaderFooter 類別是最簡單的方法,它支持基本布局,可以輕鬆添加動態數據,如當前時間和頁碼。
4.1. ASPX 到 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
或者,我們可以使用 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 "合併"到頁首/頁尾中。 -{頁面}:用於PDF的當前頁碼。 -{總頁數}:作為PDF中的總頁數。 -{網址}從中生成 PDF 文件的網絡 URL。 -{日期}:適用於伺服器系統環境的今日日期格式。 -{時間}:使用24小時制的小時:秒。 -{html-標題}將 標題 從 ASPX 網頁表單的 head 標籤中插入。 -{pdf-title}: 用於文件檔案名稱。
5. 將 ASPX 檔案應用至 PDF 技巧:分頁符
與 HTML 通常「流動」成一長頁不同,PDF 模擬數位紙張並被分成固定的頁面。 在您的ASPX頁面中添加以下代碼將自動在.NET生成的PDF中創建一個分頁。
:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-6.cs
<div style='page-break-after: always;'> </div>
6. 結合非同步和多執行緒以提升性能
IronPDF是為.NET Framework 4.6.2或.NET Core 2及以上版本所建立的。 在 Framework 4.6.2 或更高版本的項目中,異步可用於在處理多個文件時提高性能。
將 Async 與多線程 CPU 及 Paralllel.ForEach 命令結合起來,將顯著提高批量 PDF 格式處理的效能。
7. 下載為 ASP.NET 原始碼
此教程的完整ASPX 文件轉 PDF 轉換器源代碼可作為壓縮的 Visual Studio 網頁應用項目下載。
下載此教學作為 ASP.NET Visual Studio 專案
免費下載包含了一個 C# ASP.NET Web Forms 項目的工作代碼範例,展示了一個網頁如何被渲染成 PDF 並應用了設定。 我們希望這篇教程幫助您學會了如何將ASPX文件保存為PDF。
前進
通常,學習任何編程技術的最佳方法是在您自己的ASP.NET項目中進行實驗。 這包括嘗試使用IronPDF的ASPX到PDF轉換器。
開發人員可能也會對此感興趣IronPdf.AspxToPdf 類別參考:
8. 觀看 ASPX 轉 PDF 教學影片
快速指南
下載此教學作為源代碼
此教程的完整ASPX檔案到PDF轉換器原始碼以壓縮的Visual Studio網頁應用程式專案形式提供。 The free download contains working code examples for a C# ASP.NET Web Forms project, showing a web page rendered as a PDF with settings applied.
下載在 GitHub 上探索此教學
這個 C# ASPX-To-PDF 專案的程式碼可以在 GitHub 上以 C# 和 VB.NET 的形式作為 ASP.NET 網站專案獲取。請到 GitHub 分支此項目以獲得更多有關使用 IronPDF 的幫助。歡迎與任何可能會問 '如何把 ASPX 轉換成 PDF?' 的人分享這個項目。
C# ASPX 轉 PDF 網站項目 高級ASP.NET頁面轉PDF範例(C#)生成PDF 使用 VB.NET 在 ASP.NET 中創建 PDF 的範例下載 C# PDF Quickstart guide
為了讓您在 .NET 應用程式中開發 PDF 更加輕鬆,我們已將快速入門指南彙編成 PDF 文件。這份「速查表」提供了常用功能和範例,用於在 C# 和 VB.NET 中生成和編輯 PDF,並將幫助您節省使用 IronPDF 在 .NET 專案中入門的時間。
下載