跳至页脚内容
使用IRONPDF

使用 IronPDF创建ASP.NET Core PDF生成器

如果您是 .NET 开发人员,您可能曾经在您的 Web 应用程序中面临过从网页生成 PDF 文件的任务。 幸运的是,在 ASP.NET Core 中,这一过程通过 IronPDF PDF 库变得非常轻松。 这允许您用一行代码快速生成 PDF。 让我们深入了解如何使用 IronPDF 创建 PDF 文件。

本教程涵盖的话题

本教程将涵盖以下主题:

  • IronPDF
  • 创建 ASP.NET Core Web 应用程序
  • 安装 IronPDF 库
    1. NuGet 包管理器
    2. NuGet 包管理器控制台
    3. 使用 DLL 文件
  • 使用 ASP.NET Core Web 应用程序创建 PDF 文档
    1. 使用 ASP.NET WebForms (ASPX) 创建 PDF 文档
    2. 从 HTML 文件在 ASP.NET Core 中创建 PDF 文档
  • 总结

IronPDF。

IronPDF .NET 库允许开发人员在 .NET Core 和 .NET Framework 中轻松使用 C#、F# 和 VB.NET 创建 PDF 文档。 IronPDF 的渲染是 Google Chrome 桌面版本的像素级完美副本。 它可以处理 PDF 文档而无需使用 Adobe Acrobat。 IronPDF 可用于从 ASP.NET 网页、HTML 内容、URL 或 MVC 应用程序中创建 PDF 文件。

IronPDF .NET 库的一些重要功能:

让我们从如何使用 IronPDF 库创建 PDF 文档开始。

创建 ASP.NET Core Web 应用程序

本教程假设您已安装最新版本的 Visual Studio。

  • 打开 Visual Studio
  • 创建一个新的 ASP.NET Core Web 应用程序

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 1:Web 应用程序 Web 应用程序

  • 给项目命名(例如:Pdf_Generation
  • 最新且最稳定的 .NET Framework 版本是 6.0。请选择此版本的框架。

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 2:.NET Framework .NET Framework

安装IronPDF库

要创建 PDF 文档,第一步是安装 IronPDF 库。 您可以使用下面的任何方法进行安装。

1. NuGet 包管理器

要从 NuGet 包管理器安装 IronPDF C# .NET Core 库:

  • 单击 工具 > NuGet 包管理器 > 管理解决方案的 NuGet 包 打开 NuGet 包管理器。

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 3:NuGet 包管理器 NuGet 软件包管理器

  • 或者,在 解决方案资源管理器 中右键单击项目,然后单击 管理 NuGet 包

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 4:NuGet 包管理器 - 解决方案资源管理器 NuGet 包管理器 - 解决方案资源管理器

  • 搜索 IronPDF。 选择 IronPDF 并单击安装。 库将开始安装。

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 5:NuGet 包管理器 - 解决方案资源管理器 NuGet 包管理器 - 解决方案资源管理器

2. NuGet 包管理器控制台

Open the NuGet Package Manager by clicking on Tools > NuGet 软件包管理器 > Package Manager Console. 在终端中输入以下命令。

Install-Package IronPdf

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 6:NuGet 包管理器 - 解决方案资源管理器 NuGet 包管理器 - 解决方案资源管理器

3. 使用 DLL 文件

将 IronPDF 包含在项目中的第三种方法是从 IronPDF 库中添加 DLL 文件。 您可以从 IronPDF 包的直接下载页面 下载 DLL 文件。

  • 下载 DLL 压缩文件并解压到特定文件夹。
  • 在 Visual Studio 中打开项目。 在 解决方案资源管理器 中右键单击 引用 并导航到 IronPDF DLL 文件。

在 ASP.NET Core Web 应用程序中创建 PDF 文档

IronPDF 准备就绪,现在在 ASP.NET Web 窗体 (ASPX) 和 ASP.NET Core Web 应用程序中创建 PDF。

有多种方式可以创建 PDF 文档。 让我们通过代码示例来看看其中的一些方法。

1. 使用 ASP.NET WebForms (ASPX) 创建 PDF

本节将演示如何从 ASP.NET Web 窗体生成 PDF 文件,仅支持 .NET Framework 版本 4。因此,需要安装 来自官方 NuGet 页面的 IronPdf.Extensions.ASPX 用于 ASPX。 由于 ASPX 被 MVC 模型取代,因此无法在 .NET Core 中使用。

打开您要转换为 PDF 文档的 ASPX 网页的源文件,在此情况下,创建新的 Default.aspx 页面。

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 7:NuGet 包管理器 - 解决方案资源管理器 NuGet 包管理器 - 解决方案资源管理器

打开 Default.aspx.cs 文件,并在顶部添加 IronPDF 命名空间。

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

接下来,在 Page_Load() 函数中编写以下代码行:

// This code renders the current ASPX page as a PDF file and displays it in the browser.
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
// This code renders the current ASPX page as a PDF file and displays it in the browser.
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
' This code renders the current ASPX page as a PDF file and displays it in the browser.
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
$vbLabelText   $csharpLabel

仅需一行代码即可从 ASP.NET 网页创建新的 PDF 文档。

The RenderThisPageAsPdf method is used within the AspxToPdf class to convert the ASPX page into a PDF file.

当您运行该项目时,网页的 PDF 会在浏览器中显示。 这是在服务器端完成的。

上面的代码只在浏览器中显示 PDF 文档。 通过在 Page_Load() 函数中添加以下代码行,也可以直接将 PDF 文档下载到计算机上:

// This code downloads the generated PDF file of the current ASPX page to the client.
AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
// This code downloads the generated PDF file of the current ASPX page to the client.
AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);
' This code downloads the generated PDF file of the current ASPX page to the client.
AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment)
$vbLabelText   $csharpLabel

此代码将 ASPX 网页的 PDF 文件下载到 .NET 项目目录中。

输出:

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 8:ASPX 页面到 PDF ASPX 页面到 PDF

2. 从 HTML 文件在 ASP.NET Core 中创建 PDF

本节将演示如何在 ASP.NET Core 中生成 PDF 文件。 IronPDF 可以直接将 HTML 文件中的所有内容(包括图像、CSS、表单等)转换为 PDF 文档。 添加一个生成 PDF 的按钮。

将下面的标记添加到您选择的任何 .cshtml 页面中(这里使用 index.cshtml)。

<div>
    <form method="post" asp-page="Index" asp-page-handler="GeneratePDF">
        <input type="Submit" value="GeneratePDF"/>
    </form>
</div>
<div>
    <form method="post" asp-page="Index" asp-page-handler="GeneratePDF">
        <input type="Submit" value="GeneratePDF"/>
    </form>
</div>
HTML

index.cshtml.cs 文件中创建一个名为 OnPostGeneratePDF 的方法。 此功能将用于将 HTML 渲染为 PDF。

public void OnPostGeneratePDF()
{
    // Placeholder method that will handle PDF generation.
}
public void OnPostGeneratePDF()
{
    // Placeholder method that will handle PDF generation.
}
Public Sub OnPostGeneratePDF()
	' Placeholder method that will handle PDF generation.
End Sub
$vbLabelText   $csharpLabel

接下来,为您的 Web 应用程序添加新的 HTML 页面。

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 9:添加新网页 添加新网页

在此页面的正文中添加一些文本,例如“从 HTML 页面生成 PDF 文件。”

最后,将以下代码添加到 OnPostGeneratePDF 操作方法中。

public void OnPostGeneratePDF()
{
    // Create a new instance of the ChromePdfRenderer class to handle PDF rendering.
    var renderer = new ChromePdfRenderer();

    // Render the HTML file as a PDF by specifying the path and save the resulting PDF file.
    var pdf = renderer.RenderHtmlFileAsPdf("Pages/htmlpage.html");

    // Save the generated PDF document with the specified name.
    pdf.SaveAs("MyPdf.pdf");
}
public void OnPostGeneratePDF()
{
    // Create a new instance of the ChromePdfRenderer class to handle PDF rendering.
    var renderer = new ChromePdfRenderer();

    // Render the HTML file as a PDF by specifying the path and save the resulting PDF file.
    var pdf = renderer.RenderHtmlFileAsPdf("Pages/htmlpage.html");

    // Save the generated PDF document with the specified name.
    pdf.SaveAs("MyPdf.pdf");
}
Public Sub OnPostGeneratePDF()
	' Create a new instance of the ChromePdfRenderer class to handle PDF rendering.
	Dim renderer = New ChromePdfRenderer()

	' Render the HTML file as a PDF by specifying the path and save the resulting PDF file.
	Dim pdf = renderer.RenderHtmlFileAsPdf("Pages/htmlpage.html")

	' Save the generated PDF document with the specified name.
	pdf.SaveAs("MyPdf.pdf")
End Sub
$vbLabelText   $csharpLabel

上面,RenderHtmlFileAsPdf 函数用于通过指定要转换的 HTML 文件的路径来从 HTML 文件创建 PDF。

运行项目并单击“生成 PDF”按钮。 生成的 PDF 文件将出现在 ASP.NET Core 项目文件夹中。

输出:

使用 IronPDF 在 ASP.NET 中创建 PDF 生成器,图 10:ASP.NET HTML 页面到 PDF ASP.NET HTML 页面到 PDF

访问教程页面,了解如何在 ASP.NET Core 中将 MVC 视图转换为 PDF

摘要

IronPDF .NET Core 是处理 PDF 文档的完整解决方案。 它提供了从不同格式转换为新 PDF 文档的功能。 只需几行代码即可编程地创建和格式化 PDF 文件。

IronPDF 的主要亮点是 HTML 转换器,它使用符合标准的真正网络浏览器的实例在后台渲染 HTML 文档。 HTML 以完全准确的矢量格式进行渲染,适合最高标准的商业印刷。 输出是一个干净且高质量的 PDF。

IronPDF 是需要在其软件中操作 PDF 文件的开发人员和公司的理想选择。 商业许可和定价详情发布在网站上。

您可以尝试免费版本的 IronPDF 库来测试其功能。 免费试用许可证密钥将允许您测试 IronPDF 的全部功能。

另外,还有一个特别优惠,可让您以两个价格购买到 Iron Software 的全部五个产品。 有关许可的更多信息,请访问此Iron Software 许可信息页面

常见问题解答

如何在 ASP.NET Core 中生成不丢失格式的 PDF 文档?

您可以使用 IronPDF 从 HTML 内容、CSS 和 JavaScript 创建高质量、像素完美的 PDF。IronPDF 的渲染引擎基于 Google Chrome,确保格式保持不变。

在 ASP.NET Core 中从 HTML 创建 PDF 的最简单方法是什么?

在 ASP.NET Core 中从 HTML 创建 PDF 的最简单方法是使用 IronPDF 的 RenderHtmlAsPdf 方法,该方法轻松地将 HTML 字符串转换为 PDF 文档。

我可以在 ASP.NET Core 中使用 PDF 库将网页转换为 PDF 吗?

是的,IronPDF 允许您在 ASP.NET Core 中通过使用 ChromePdfRenderer 类将网页的 HTML 内容渲染为 PDF 文档,来将网页转换为 PDF。

有没有办法在不使用 NuGet 的情况下在 ASP.NET Core 中安装 PDF 库?

是的,除了使用 NuGet 包管理器之外,您可以直接将 IronPDF DLL 文件添加到您的项目中,在您的 ASP.NET Core 应用程序中安装库。

如何确保我的 ASP.NET Core 应用程序支持从 URL 生成 PDF?

使用 IronPDF,您可以通过利用其将网页渲染为 PDF 的能力,生成来自 URL 的 PDF,从而轻松地将任何可访问的 URL 转换为 PDF 文档。

在 ASP.NET Core 中使用 PDF 库有什么优势?

在 ASP.NET Core 中使用 IronPDF 提供了多个优势,包括从各种内容类型生成 PDF、提取文本和图像、数字签名,以及通过可靠的渲染引擎保持格式。

如何在 ASP.NET Core 中生成 PDF 时添加网络凭据?

IronPDF 允许您在生成 PDF 时添加自定义网络凭据,确保在创建 PDF 时访问受保护资源。

我可以在不购买的情况下测试 PDF 库的 PDF 生成功能吗?

是的,您可以通过使用其免费试用版测试 IronPDF 的全部功能,这允许您在购买前评估其 PDF 生成能力。

可以在 ASP.NET WebForms 和 ASP.NET Core 中同时使用 PDF 库吗?

是的,IronPDF 与 ASPX 向后兼容,允许您在 ASP.NET WebForms 和 ASP.NET Core 应用程序中用于 PDF 生成。

IronPDF 与 .NET 10 兼容吗?

是的。IronPDF 完全兼容 .NET 10,以及 .NET 8 和 .NET 9。它支持所有主流项目类型(Web、桌面、控制台和云),无需任何变通或调整。随着 .NET 新技术的不断涌现,IronPDF 始终保持面向未来的兼容性。(请参阅 IronPDF 对 .NET 10 的跨平台支持)

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。