使用IRONPDF

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

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

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

设置环境

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

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

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

    如何在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 Framework

  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 网页的源文件路径。 在代码隐藏文件(Index.cshtml.cs)中,在顶部添加IronPdf命名空间:

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

第 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
$vbLabelText   $csharpLabel

通过一行代码,Razor 页面将使用扩展方法RenderRazorToPdf转换为 PDF 文档。

要实现这一点,需要安装IronPdf.Extensions.Razor NuGet Package

步骤 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")
$vbLabelText   $csharpLabel

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

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

Razor页面转PDF

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

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

从URL生成PDF

IronPDF通过从URL(HTTP服务)生成HTML文件并将其转换为PDF,简化了创建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)
$vbLabelText   $csharpLabel

在上面的代码中,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>")
$vbLabelText   $csharpLabel

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

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

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)
$vbLabelText   $csharpLabel

在上面的代码片段中,使用了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
$vbLabelText   $csharpLabel

将 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
$vbLabelText   $csharpLabel

AspxToPdf类的RenderThisPageAsPdf方法将通过网络API将网页表单转换为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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

为 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
$vbLabelText   $csharpLabel

为您的文档添加水印

您还可以使用 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
$vbLabelText   $csharpLabel

用密码保护您的 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
$vbLabelText   $csharpLabel

除了上述功能外,IronPDF 还提供其他功能,例如从 PDF 使用 OCR 提取图像和文本将图表渲染为 PDF将条形码添加到 PDF通过密码增强文档安全性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许可信息了解更多详细信息。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
如何在.NET中将PDF转换为PNG
下一步 >
如何在.NET MAUI中显示嵌入的PDF文本