使用IRONPDF

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF

发布 2024年十月23日
分享:

在现代网络应用中,根据 HTML 内容生成文档是一项常见要求。 无论您是需要创建发票、报告还是其他任何类型的文档,都可以通过 ASP.NET 中的 IronPDF 库使用 C# 高效地完成 HTML 到 PDF 的转换。

今天,我们将探讨如何设置 IronPDF 并使用它将 HTML 内容转换为 PDF 文档。

如何在 ASP.NET 中使用 IronPDF 将 HTML 转换为 PDF

  1. 使用 Visual Studio 或您选择的集成开发环境创建一个 ASP.NET 项目。

  2. 安装 IronPDF 并设置许可证密钥。

  3. 创建一个新的控制器或页面来处理 PDF 转换。

  4. 在控制器中编写转换逻辑。

  5. 配置路由以允许访问您的 PDF 生成操作。

IronPDF 概述

IronPDF 是一个功能强大的 PDF 库,允许开发人员读取、创建和操作 PDF 文档。 IronPDF 拥有丰富的功能集和快速简单的安装过程,有了它,您的 PDF 项目很快就能更上一层楼。 其直观的 API 易于学习,如果您希望直接从网络应用程序生成动态 PDF 文档、执行 PDF 安全任务、PDF 注释等,它将是您的理想选择。

特点

  • PDF 转换: IronPDF 可将 HTML 文件转换为 PDF,它完全支持现代网络标准,您可以放心,IronPDF 将始终如一地从您的 HTML 页面返回像素完美的 PDF。 IronPDF 还能将其他格式的文件转换为PDF,如DOCX、图片、RTF等。
  • PDF 生成:使用 IronPdf,您可以从任何网页、ASPX 文件、HTML 字符串等生成 PDF。
  • 安全功能: 使用IronPDF,您可以放心,任何敏感的PDF文件都得到了安全保护,多亏了它的安全功能。 使用 IronPDF 加密您的 PDF 文件,设置密码,并为您的 PDF 文件设置权限。
  • PDF编辑功能: 使用IronPDF,您可以处理现有的PDF文档,编辑它们,并轻松读取PDF文件。 IronPDF 提供的编辑功能包括添加页眉和页脚,将文本和图像盖章到PDF页面上,为PDF添加自定义水印,处理PDF表单,以及拆分或合并PDF文件。

先决条件

在开始之前,请确保您具备以下条件

  • Visual Studio或其他 C# 开发环境设置。
  • IronPDF 库已安装。 您可以从 NuGet 或直接从 IronPdf 网站获取。

创建一个新的 ASP.NET 项目

启动 Visual Studio 并选择最适合您需要的 ASP.NET 项目类型。 在今天的示例中,我将创建一个 ASP.NET Core Web 应用程序(模型-视图控制器).

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 1

然后,输入您的项目名称并选择存放项目的位置。

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 2

最后,为项目选择 .NET Framework,并更改项目的其他设置,如身份验证类型或启用容器支持和 docker。

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 3

创建控制器

要创建一个新控制器来存放 HTML 转 PDF 代码,首先右键单击解决方案资源管理器中的 "控制器 "文件夹,然后选择 "添加 -> 控制器"。

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 4

这将提示打开一个新窗口,您可以在其中选择要添加到项目中的控制器形式。 我们选择了一个空的 MVC 控制器。

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 5

最后,我们为新控制器命名,并点击 "添加 "将其添加到项目中。

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 6

添加 HTML 至 PDF 转换代码

现在我们已经创建了 ASP.NET 项目,可以开始编写将 HTML 文件内容转换为 PDF 的代码。 我们将先从 HTML 字符串转换为 PDF 的简单示例开始,然后再了解如何通过自定义转换 HTML 内容。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
        // String of HTML code to be converted to PDF
            string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
        // String of HTML code to be converted to PDF
            string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Convert HTML string to PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
	Public Class PdfController
		Inherits Controller

		Public Function GeneratePdf() As IActionResult
		' String of HTML code to be converted to PDF
			Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
			Dim renderer As New ChromePdfRenderer()
		' Convert HTML string to PDF
			Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
			Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
		End Function
	End Class
End Namespace
VB   C#

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 7

ASP.NET MVC 使用控制器来处理用户请求。 当用户导航到特定 URL 时,ASP.NET 将调用与该路由相关的控制器中的方法。

  • PdfController 是一个继承自 Controller 的类,这意味着它可以处理网络请求并发送响应。
  • 该控制器中的GeneratePdf方法将处理将 HTML 转换为 PDF 的请求并返回结果。

    当用户访问链接到 GeneratePdf 操作的 URL 时,将执行该方法。

  • IActionResult:这是返回类型,代表网络应用程序将发送给用户的响应。 它可以是一个视图(HTML 页面)文件下载等。在本例中,它是一个 PDF 文件。

    • **生成 PDF()方法***:

      • 在该方法中,我们定义了一个字符串 htmlContent,其中包含要转换为 PDF 的 HTML。 例如,"

        你好,IronPDF!

        这是由 HTML 生成的 PDF。

        ".

      • 我们创建一个新的ChromePdfRenderer该翻译项目的目的是将 HTML 转换为 PDF。
    • 翻译方法RenderHtmlAsPdf()该翻译器接收 HTML 字符串并返回一个 PDF 对象。

配置路由

在 ASP.NET MVC 应用程序中,您需要定义将 URL 映射到控制器方法的 路由。(行动). 例如,如果您在浏览器中导航到 /PDF/GeneratePdf,ASP.NET 将查找 PdfController 并调用其 GeneratePdf 方法。 确保您的路由配置允许访问 GeneratePdf 操作。 如果您使用的是 ASP.NET Core MVC,通常会自动配置。 如果您正在使用 Web API,请确保您的路由设置正确。

定制 PDF 输出

既然我们已经掌握了基础知识,下面我们就来看看如何通过 HTML 内容创建 PDF 文件,并为输出 PDF 设置一些自定义设置。 IronPDF 提供了一套功能强大的 PDF 定制工具,例如利润, 页眉/页脚, 定制 PDF 大小,以及更多。

using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    // Controller for our PDF converter
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            string url= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Creating the cover page
            PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");
        // Adding custom options for our final PDF
            renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
            renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
            renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
            renderer.RenderingOptions.TextHeader.FontSize = 12;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.FirstPageNumber = 2;
        // Creating our main PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(url);
        // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace IronPdfTest.Controllers
{
    // Controller for our PDF converter
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            string url= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>";
            ChromePdfRenderer renderer = new ChromePdfRenderer();
        // Creating the cover page
            PdfDocument cover = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>");
        // Adding custom options for our final PDF
            renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape;
            renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3;
            renderer.RenderingOptions.TextHeader.CenterText = "IronPDF";
            renderer.RenderingOptions.TextHeader.FontSize = 12;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.FirstPageNumber = 2;
        // Creating our main PDF
            PdfDocument pdf = renderer.RenderHtmlAsPdf(url);
        // Appending the cover to the main PDF
            pdf.InsertPdf(cover, 0);
            return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace IronPdfTest.Controllers
	' Controller for our PDF converter
	Public Class PdfController
		Inherits Controller

		Public Function GeneratePdf() As IActionResult
			Dim url As String= "<h1>Hello, IronPDF!</h1><p>This is a PDF generated from HTML.</p>"
			Dim renderer As New ChromePdfRenderer()
		' Creating the cover page
			Dim cover As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Cover Page</h1>")
		' Adding custom options for our final PDF
			renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Landscape
			renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A3
			renderer.RenderingOptions.TextHeader.CenterText = "IronPDF"
			renderer.RenderingOptions.TextHeader.FontSize = 12
			renderer.RenderingOptions.MarginTop = 20
			renderer.RenderingOptions.FirstPageNumber = 2
		' Creating our main PDF
			Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(url)
		' Appending the cover to the main PDF
			pdf.InsertPdf(cover, 0)
			Return File(pdf.BinaryData, "application/pdf", "generatedDocument.pdf")
		End Function
	End Class
End Namespace
VB   C#

如何在 ASP .NET 中使用 C# 将 HTML 转换为 PDF:图 8

结论

今天,我们仔细研究了如何在 ASP.NET 中使用 HTML 到 PDF 的转换,并探讨了在 ASP.NET 项目中从 HTML 创建 PDF 文件的过程。 按照上述步骤,您可以轻松地将 PDF 生成功能集成到网络应用程序中,从而可以从 HTML 内容创建高质量的可打印文档。

IronPDF 拥有丰富的功能,可用于制作高质量的 PDF 文档,如需了解更多高级功能和详细的定制,请参阅 IronPDF文献资料在翻译过程中,翻译人员必须能够快速、准确地理解.NET、Java、Python 或 Node.js。安装您可以在很短的时间内将 IronPDF 安装到您的项目中。

< 前一页
如何用 C# 从 PDF 文件中提取表格数据
下一步 >
PDF/A 合规性(开发人员如何操作)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >