使用IRONPDF

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

更新 2024年三月17日
分享:

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

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

设置环境

要开始使用,请确保具备以下先决条件:

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

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

![如何在 ASP.NET Core 中显示 PDF 文件,图 1:NuGet 包管理器](/static-assets/pdf/blog/asp-net-core-display-pdf-tutorial/asp-net-core-display-pdf-tutorial-1.webp)

**NuGet软件包管理器**
  1. .NET Core 应用程序:确保您已基本了解 ASP.NET Core 并将其安装到开发机器上。

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

创建新项目

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

![如何在 ASP.NET Core 中显示 PDF 文件,图 2:Web 应用程序](/static-assets/pdf/blog/asp-net-core-display-pdf-tutorial/asp-net-core-display-pdf-tutorial-2.webp)

**网络应用**

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

![如何在 ASP.NET Core 中显示 PDF 文件,图 3:.NET Framework](/static-assets/pdf/blog/asp-net-core-display-pdf-tutorial/asp-net-core-display-pdf-tutorial-3.webp)

**.NET框架**

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

添加 IronPDF 库

要在项目中使用 IronPDF,需要添加 IronPDF 库引用。

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

![如何在 ASP.NET Core 中显示 PDF 文件,图 4:NuGet 包管理器](/static-assets/pdf/blog/asp-net-core-display-pdf-tutorial/asp-net-core-display-pdf-tutorial-4.webp)

**NuGet软件包管理器**

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

![如何在 ASP.NET Core 中显示 PDF 文件,图 5:NuGet 包管理器 - 解决方案资源管理器](/static-assets/pdf/blog/asp-net-core-display-pdf-tutorial/asp-net-core-display-pdf-tutorial-5.webp)

**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 步 将 Razer 页面转换为 PDF

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

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

    Response.Headers.Add("Content-Disposition", "inline");
    // View output PDF on broswer
    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 broswer
    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 broswer
	Return File(pdf.BinaryData, "application/pdf")
End Function
VB   C#

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

为此,需要 来自 NuGet 官方页面的 IronPdf.Extensions.Razor 安装。

第 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

通过从 URL 生成 HTML 文件,IronPDF 可简化 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#

在上述示例中 将Html渲染为Pdf 方法用于渲染 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#

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

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

使用 IronPDF 从 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 表格等等。通过使用 IronPDF,您可以简化创建 PDF 的过程,并改善文档的整体表现形式。

结论

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

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

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

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

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

免费NuGet下载 总下载量: 10,731,156 查看许可证 >