使用IRONPDF

如何在ASP.NET Core中显示PDF文件

更新 2024年三月17日
分享:

PDF 文件被广泛用于文档共享和数据显示目的。 在网络应用中,经常需要在浏览器中直接向用户显示 PDF 文件。 ASP.NET Core 应用程序提供了实现该功能的各种选项,其中一个用于处理 PDF 文件的流行库是 IronPDF for .NET。

IronPDFPDF 是一个功能强大的 .NET 库,允许开发人员轻松创建、编辑和处理 PDF。 本文将探讨如何使用 IronPDF 在 ASP.NET Core PDF 查看器应用程序中显示 PDF 文件。 它将涵盖设置必要组件的步骤,并提供示例逻辑来演示 ASP.NET Core PDF 查看器集成。

设置环境

要开始工作,请确保您具备以下先决条件:

  1. Visual Studio:安装最新版本的 Visual Studio 或任何其他兼容的集成开发环境(IDE)您可以选择

  2. IronPDF 库:从以下网址获取 IronPDF 库IronPDF 官方网站或通过 NuGet 包管理器。

    如何在 ASP.NET Core 中显示 PDF 文件,图 1:NuGet 包管理器

    NuGet 软件包管理器

  3. .NET Core 应用程序:确保您已基本了解ASP.NET Core 安装说明并将其安装到您的开发机器上。

    设置好环境后,让我们深入了解在 ASP.NET Core 应用程序中使用 IronPDF 显示 PDF 文件的步骤。

创建新项目

  1. 打开 Visual Studio 并创建一个新的 ASP.NET Core Web App 项目。

    如何在 ASP.NET Core 中显示 PDF 文件,图 2:Web 应用程序

    网络应用

  2. 选择 "ASP.NET Core Web App "模板。

    如何在 ASP.NET Core 中显示 PDF 文件,图 3:.NET Framework

    .NET框架

  3. 选择所需的项目设置,然后单击 "创建 "生成新项目。

添加 IronPDF 库

要在项目中使用 IronPDF,您需要添加 IronPDF 库参考。

  1. 右键单击解决方案资源管理器中的项目,然后选择 "管理解决方案的 NuGet 包..."。

    如何在 ASP.NET Core 中显示 PDF 文件,图 4:NuGet 包管理器

    NuGet 软件包管理器

  2. 在 NuGet 软件包管理器中搜索 "IronPdf",然后安装最新版本的软件包。

    如何在 ASP.NET Core 中显示 PDF 文件,图 5:NuGet 包管理器 - 解决方案资源管理器

    NuGet 软件包管理器 - 解决方案资源管理器

使用 ASP.NET Core 网页创建 PDF

要从服务器端的 ASP.NET Core 网页创建 PDF,请按照以下步骤操作:

如何在 ASP.NET Core 中显示 PDF 文件,图 6:NuGet 包管理器 - 解决方案资源管理器

解决方案资源管理器

第 1 步 添加 IronPDF 命名空间

打开要转换成 PDF 的 ASP.NET Core 网页的源文件路径。 在代码背后文件中(索引.cshtml.cs。),在顶部添加IronPdf` 命名空间:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

第 2 步 将 Razor 页面转换为 PDF

OnGet 函数中,添加以下代码:

public FileContentResult OnGet()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRazorToPdf(this);

    Response.Headers.Add("Content-Disposition", "inline");
    // View output PDF on browser
    return File(pdf.BinaryData, "application/pdf");
}
public FileContentResult OnGet()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRazorToPdf(this);

    Response.Headers.Add("Content-Disposition", "inline");
    // View output PDF on browser
    return File(pdf.BinaryData, "application/pdf");
}
Public Function OnGet() As FileContentResult
	Dim renderer As New ChromePdfRenderer()
	Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me)

	Response.Headers.Add("Content-Disposition", "inline")
	' View output PDF on browser
	Return File(pdf.BinaryData, "application/pdf")
End Function
VB   C#

只需一行代码,Razor 页面就能通过扩展的 RenderRazorToPdf 方法转换为 PDF 文档。

为实现这一目标IronPdf.Extensions.Razor NuGet 软件包需要安装。

步骤 3 显示或下载 PDF

默认情况下,代码将在浏览器中显示 PDF 文档。 如果您想下载 PDF,请修改代码如下:

return File(pdf.BinaryData, "application/pdf", "razorPageToPDF.pdf");
return File(pdf.BinaryData, "application/pdf", "razorPageToPDF.pdf");
Return File(pdf.BinaryData, "application/pdf", "razorPageToPDF.pdf")
VB   C#

该代码将把 ASP.NET 网页的 PDF 文件下载到本地的 "下载 "文件夹中。

如何在 ASP.NET Core 中显示 PDF 文件,图 7:将 ASPX 页面转换为 PDF

Razor Page to PDF

在 ASP.NET Core 中加载和显示 PDF 文件

接下来,本节将探讨使用 IronPDF 生成 PDF 文件并在 ASP.NET Core 应用程序中显示的不同方法。

从URL生成PDF

IronPdf 通过从 URL 生成 HTML 文件来简化 PDF 文档的创建过程(HTTP 服务)并将其转换为 PDF。 以下代码演示了如何从 URL 生成 PDF 文件:

using var pdf = new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/");

//Read the File as Byte Array.
byte[] bytes = pdf.BinaryData;

//Convert File to Base64 string and send to Client.
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length); //public string
return Content(base64);
using var pdf = new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/");

//Read the File as Byte Array.
byte[] bytes = pdf.BinaryData;

//Convert File to Base64 string and send to Client.
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length); //public string
return Content(base64);
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/")

'Read the File as Byte Array.
Dim bytes() As Byte = pdf.BinaryData

'Convert File to Base64 string and send to Client.
Dim base64 As String = Convert.ToBase64String(bytes, 0, bytes.Length) 'public string
Return Content(base64)
VB   C#

在上述代码中,IronPDF 的ChromePdfRenderer类文档该工具用于渲染指定 URL 中的 HTML 内容并将其转换为 PDF 文档。 然后将 PDF 文档转换为字节数组,并以base64字符串的形式发送给客户端。

从 HTML 字符串生成 PDF

IronPdf 提供了一种将 HTML 字符串转换为 PDF 文档的高效方法。 下面的代码片段演示了如何从字符串生成 PDF 文件:

using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>");
using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>");
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>")
VB   C#

在上述示例中RenderHtmlAsPdf 方法详细信息该工具用于渲染 HTML 字符串并将其转换为 PDF 文档。 翻译后的 PDF 可根据应用程序的要求进行进一步处理或保存。

如何在 ASP.NET Core 中显示 PDF 文件,图 8:Web 应用程序输出

网络应用输出

从 HTML 文件生成 PDF

IronPdf 还支持将 HTML 文件或 CSS 文件转换为PDF 文档示例. 以下代码展示了如何从 HTML 文件生成 PDF 文件:

using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
using var PDF = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length);
return Content(base64);
using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
using var PDF = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length);
return Content(base64);
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderHtmlFileAsPdf("demo.html") 'using the string filename
Dim bytes() As Byte = PDF.BinaryData 'var file
Dim Me.PDF = (New IronPdf.ChromePdfRenderer()).RenderHtmlFileAsPdf("demo.html") 'using the string filename
Dim bytes() As Byte = Me.PDF.BinaryData 'var file
Dim base64 As String = Convert.ToBase64String(bytes, 0, bytes.Length)
Return Content(base64)
VB   C#

在上面的代码片段中,RenderHtmlFileAsPdf 方法使用详情该方法用于渲染指定文件名中的 HTML 内容并将其转换为 PDF 文档。 生成的 PDF 将转换为字节数组,并以 base64 字符串的形式发送给客户端。

如何在 ASP.NET Core 中显示 PDF 文件:图 9 - 添加新网页

使用 IronPDF for .NET 从 ASP.NET Web API 将 ASP.NET Web 窗体转换为 PDF 文件

只需一行代码,您就可以轻松地将 ASP.NET 网页表单转换为 PDF 格式,而无需使用 HTML。 将此代码放在页面代码隐藏文件的 Page_Load 方法中,以便在页面上显示。

导入 IronPdf 名称空间

使用 using 关键字在您的代码后面文件中导入 IronPdf 命名空间。

using IronPdf;
using System;
using System.Web.UI;
using IronPdf;
using System;
using System.Web.UI;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

将 ASP.NET Web 表单转换为 PDF

在您要转换为 PDF 的页面的代码后面文件中(例如,Default.aspx.cs)添加以下代码

namespace WebApplication7
{
    public partial class _Default : Page //public string
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); //input element
        }
    }
}
namespace WebApplication7
{
    public partial class _Default : Page //public string
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); //input element
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

AspxToPdf "类的 "RenderThisPageAsPdf "方法将从网络应用程序接口把网络表单转换成 PDF 文档。

应用 HTML 模板

对于内联网和网站开发人员来说,使用模板生成 PDF 通常是一项常见要求。 IronPdf 允许您生成 HTML 模板并填充数据,从而简化了这一过程。

下面是一个如何使用 HTML 模板和 IronPDF 生成多个自定义 PDF 的示例:

string HtmlTemplate = "<p>[[NAME]]</p>";
string[] Names = { "John", "James", "Jenny" };
foreach (var name in Names)
{
    string HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
    using (var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance))
    {
        Pdf.SaveAs(name + ".pdf");
    }
}
string HtmlTemplate = "<p>[[NAME]]</p>";
string[] Names = { "John", "James", "Jenny" };
foreach (var name in Names)
{
    string HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
    using (var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance))
    {
        Pdf.SaveAs(name + ".pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

ASP MVC 路由 下载本页的 PDF 版本

如果您使用的是 ASP.NET MVC,您可以轻松地将用户引导到 PDF 文件。以下是源代码的编写示例:

using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            using (var PDF = renderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org")))
            {
                return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
            }
        }
        // Other action methods...
    }
}
using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            using (var PDF = renderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org")))
            {
                return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
            }
        }
        // Other action methods...
    }
}
Imports IronPdf
Imports System
Imports System.Web.Mvc
Namespace WebApplication8.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As IActionResult
			Dim renderer As New ChromePdfRenderer()
			Using PDF = renderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
				Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
			End Using
		End Function
		' Other action methods...
	End Class
End Namespace
VB   C#

为 PDF 文档添加封面页

要在现有 PDF 文档中添加封面页或封底页,可以使用 IronPDF 的合并功能。 这里有一个例子:

using (var PDF = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/"))
{
    using (var Merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), PDF))
    {
        Merged.SaveAs("Combined.Pdf");
    }
}
using (var PDF = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/"))
{
    using (var Merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), PDF))
    {
        Merged.SaveAs("Combined.Pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

为您的文档添加水印

您还可以使用 C# 代码为 PDF 文档添加水印。 这里有一个例子:

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"))
{
    pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
    pdf.SaveAs(@"C:\PathToWatermarked.pdf"); //string filepath
}
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"))
{
    pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
    pdf.SaveAs(@"C:\PathToWatermarked.pdf"); //string filepath
}
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Using pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
	pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
	pdf.SaveAs("C:\PathToWatermarked.pdf") 'string filepath
End Using
VB   C#

用密码保护您的 PDF

您可以使用 IronPDF 用密码加密和保护 PDF 文档。 这里有一个例子:

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>"))
{
    pdfDocument.Password = "strong!@#pass&^%word";
    pdfDocument.SaveAs("secured.pdf");
}
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>"))
{
    pdfDocument.Password = "strong!@#pass&^%word";
    pdfDocument.SaveAs("secured.pdf");
}
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Using pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
	pdfDocument.Password = "strong!@#pass&^%word"
	pdfDocument.SaveAs("secured.pdf")
End Using
VB   C#

除上述功能外,IronPDF 还提供其他功能,例如使用 OCR 提取图像和文本来自 PDF、将图表渲染为 PDF, 在 PDF 中添加 BarCode, 使用密码提高文档安全性PDF 水印技术甚至处理和定制 PDF 表单,以及更多。 通过使用 IronPdf,您可以简化创建 PDF 的过程,提高文档的整体表现力。

结论

IronPDF 是一款专为 .NET 开发人员设计的卓越工具,提供广泛的功能,可在 .NET 项目中毫不费力地处理 PDF 操作。 有了 IronPdf,开发人员可以加强工作流程,简化工作程序。 这款功能强大的工具提供了众多功能,可实现 PDF 文件的无缝格式化、页面删除、页面添加等。 它使开发人员能够根据自己的具体要求有效地管理和定制 PDF 文档。

IronPdf 不仅功能出众,还具有免费开发的额外优势。 这意味着开发人员可以在项目开发阶段利用其功能,而不会产生任何费用。 通过使用 IronPDF,开发人员可以提高工作效率,在 PDF 相关任务中取得显著成果,最终在 .NET 项目中提供优质高效的解决方案。

还有许多其他有用的库,如处理 PDF 文档的 IronPDF、处理 Excel 文档的 IronXL 和处理 OCR 的 IronOCR。 目前,您只需购买完整的 Iron Suite,就能以两个库的价格获得全部五个库。访问我们的Iron Software 许可证信息了解更多详情。

< 前一页
如何在.NET中将PDF转换为PNG
下一步 >
如何在.NET MAUI中显示嵌入的PDF文本

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

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