Class AspxToPdf
One-line PDF conversion for ASP.NET WebForms - transforms any ASPX page into PDF instantly. Add to Page_Load event for automatic PDF rendering instead of HTML output.
// In your ASPX.cs code-behind:
protected void Page_Load(object sender, EventArgs e) {
// Convert this page to PDF automatically:
AspxToPdf.RenderThisPageAsPdf();
// Download as attachment:
AspxToPdf.RenderThisPageAsPdf(
FileBehavior.Attachment,
"invoice.pdf");
// Custom options:
var options = new ChromePdfRenderOptions {
MarginTop = 10,
PaperSize = PdfPaperSize.A4
};
AspxToPdf.RenderThisPageAsPdf(
FileBehavior.InBrowser,
"report.pdf",
options);
}Requires IronPdf.Extensions.ASPX NuGet package
Only for .NET Framework - use MVC for .NET Core
See: https://www.nuget.org/packages/IronPdf.Extensions.ASPX/
See: https://ironpdf.com/how-to/aspx-to-pdf/
Inheritance
Namespace: IronPdf
Assembly: IronPdf.dll
Syntax
public static class AspxToPdf : Object
When an ASP.NET Web Forms page needs to convert itself to PDF from inside its own Page_Load event, AspxToPdf does the work. Application code calls its static members directly without instantiation: a single line in Page_Load substitutes a PDF response for the usual HTML response, with optional control over filename, browser behavior, and rendering options.
This entry point exists for legacy ASP.NET Web Forms applications that already render pages with server controls and code-behind. Typical uses are server-rendered invoices, account statements, tickets, and management reports where the existing ASPX markup is the canonical document layout. The class is for .NET Framework only; .NET Core and .NET 5+ applications use MVC or Razor Pages and should render through ChromePdfRenderer instead. The class ships in the separate IronPdf.Extensions.ASPX NuGet package on top of the main IronPdf package.
Two static overloads of RenderThisPageAsPdf cover the common cases. The first overload accepts an AspxToPdf.FileBehavior (a nested enum-shaped type with Attachment and InBrowser members), an optional PDF filename, and an optional ChromePdfRenderOptions instance for paper size, margins, headers, and footers. The second overload accepts an Action<PdfDocument> callback that hands the rendered PdfDocument back to application code before the HTTP response is written, allowing further edits, signing, or persistence. Both overloads must be called early in Page_Load, before any server controls write to the response stream, since the call short-circuits the HTML response. The ASPX to PDF how-to guide has a worked example of each overload on a server-rendered invoice page.
using IronPdf;
using System;
using System.Web.UI;
public partial class Invoice : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Send this ASPX page to the browser as a downloaded PDF attachment.
AspxToPdf.RenderThisPageAsPdf(
AspxToPdf.FileBehavior.Attachment,
$"Invoice_{DateTime.Now:yyyyMMdd}.pdf");
}
}The ASPX to PDF settings example shows the options-shaped overload applied to a real invoice page. For the broader framework picture, reach for the installation overview when adding the IronPdf.Extensions.ASPX package and confirming the .NET Framework constraint that distinguishes this class from ChromePdfRenderer.
Methods
RenderThisPageAsPdf(AspxToPdf.FileBehavior, String, ChromePdfRenderOptions)
Instantly converts the current ASPX page to PDF during Page_Load - no HTML output. Perfect for dynamic reports, invoices, and documents generated from WebForms.
protected void Page_Load(object sender, EventArgs e) {
// Display PDF in browser:
AspxToPdf.RenderThisPageAsPdf();
// Force download with custom name:
AspxToPdf.RenderThisPageAsPdf(
FileBehavior.Attachment,
$"Invoice_{DateTime.Now:yyyyMMdd}.pdf");
// Professional formatting:
var options = new ChromePdfRenderOptions {
PaperSize = PdfPaperSize.A4,
MarginTop = 20,
MarginBottom = 20,
PrintHtmlBackgrounds = true,
Title = "Sales Report"
};
AspxToPdf.RenderThisPageAsPdf(
FileBehavior.InBrowser,
"report.pdf",
options);
}Renders after all server controls have processed
Call early in Page_Load to prevent response conflicts
See: https://ironpdf.com/examples/aspx-to-pdf/
Declaration
public static void RenderThisPageAsPdf(AspxToPdf.FileBehavior behavior, string pdfFileName = null, ChromePdfRenderOptions printOptions = null)
Parameters
| Type | Name | Description |
|---|---|---|
| AspxToPdf.FileBehavior | behavior | Specifies if the PDF file should be downloaded as an attachment, or displayed directly in the browser of users. |
| System.String | pdfFileName | The file-name of the PDF. If no name is set, a suitable name will be automatically assigned chosen based on the Html title, PrintOptions or name of the ASPX page. |
| ChromePdfRenderOptions | printOptions | Sets PDF output options such as PDF Title, paper-size, DPI, headers and footers. |
RenderThisPageAsPdf(Action<PdfDocument>, ChromePdfRenderOptions, String)
Automatically renders this ASPX page into PDF and returns that PDF document in an callback. Use it in the Page_Load Event.
Declaration
public static void RenderThisPageAsPdf(Action<PdfDocument> Callback, ChromePdfRenderOptions PrintOptions = null, string PdfFileName = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Action<PdfDocument> | Callback | An callback method that handles the rendered PdfDocument object. |
| ChromePdfRenderOptions | PrintOptions | Sets PDF output options such as PDF Title, paper-size, DPI, headers and footers. |
| System.String | PdfFileName | Output file name |