PDFsharp 在PDF添加页码与IronPDF(示例)
许多组织仍然在银行门户、会计系统和内部仪表板上运行ASP.NET Web Forms。 这些应用程序是稳定的,但很少提供一种干净的方式为用户提供可下载的文档。 添加PDF导出功能被视为重新迁移到MVC或Blazor的平台上的理由,这对其他正常运行的软件来说是一个昂贵的举动。IronPDF选择了更便宜的方法:它通过一行代码将用户已经在查看的ASPX页面转换为PDF。
缺口出现的地方
一个Web Forms页面通常已经将其发票、账单或报告呈现为带样式的HTML。 员工和客户希望将相同的视图作为可保存、发送邮件或打印的便携文件。 若使用单独的PDF模板,意味着第二个布局将与第一个布局不一致。浏览器打印对话框在每台机器上都产生不同的结果。团队需要的是在服务器端生成一个与屏幕上页面一致的PDF。
就地渲染页面
IronPDF从Page_Load事件内部转换实时ASPX页面。 AspxToPdf.RenderThisPageAsPdf方法重用已为网页视图构建的页面,因此样式、链接和表单字段可被保留。
using IronPdf;
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
}
}
using IronPdf;
public partial class Invoice : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");
}
}
Imports IronPdf
Public Partial Class Invoice
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf")
End Sub
End Class
FileBehavior.Attachment触发具有指定文件名的下载。 FileBehavior.InBrowser改为嵌入式显示文档。
控制输出
渲染选项包括详情,使输出适合用于分发:页眉、页脚、页码,以及去除仅限屏幕导航的打印样式表。
var options = new ChromePdfRenderOptions
{
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextFooter = new TextHeaderFooter
{
LeftText = "{date} - {time}",
RightText = "Page {page} of {total-pages}"
}
};
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", options);
var options = new ChromePdfRenderOptions
{
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextFooter = new TextHeaderFooter
{
LeftText = "{date} - {time}",
RightText = "Page {page} of {total-pages}"
}
};
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", options);
Imports IronPdf.Rendering
Dim options As New ChromePdfRenderOptions With {
.CssMediaType = PdfCssMediaType.Print,
.TextFooter = New TextHeaderFooter With {
.LeftText = "{date} - {time}",
.RightText = "Page {page} of {total-pages}"
}
}
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", options)
决定干净转换的设置
一些选择决定了转换在负荷下是否稳定:
一行,无重写
在现有页面中执行这一个调用即可使Web Forms应用程序实现发票下载、打印账单和报告导出,无需迁移。 完整的方法参考和配置选项在ASPX到PDF指南中。
常见问题解答
可以在不迁移到MVC或Blazor的情况下向ASP.NET Web Forms添加PDF导出吗?
可以。IronPDF的AspxToPdf.RenderThisPageAsPdf方法从Page_Load事件内部将实时ASPX页面转换为PDF,重用现有的页面布局,无需任何框架迁移。
IronPDF如何处理Web Forms中的动态内容,如Ajax图表?
在渲染选项中启用EnableJavaScript,并添加WaitFor规则,使IronPDF在JavaScript执行完毕后再捕获页面。
FileBehavior.Attachment和FileBehavior.InBrowser之间有什么区别?
FileBehavior.Attachment以选择的文件名作为文件下载PDF。FileBehavior.InBrowser则在浏览器标签页内联显示PDF。
如何将页眉、页脚和页码添加到ASPX PDF导出中?
使用ChromePdfRenderOptions以及引用{page}和{total-pages}占位符的TextFooter(或TextHeader)。将CssMediaType设置为Print以应用您的打印样式表。
IronPDF能否在.NET Framework上的ASP.NET Web Forms中工作?
可以。IronPDF支持.NET Framework 4.6.2及更高版本,以及.NET Core、.NET 5和所有现代.NET版本。它可在目标为任何这些运行时的Web Forms应用程序中工作。

