使用 IRONPDF

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

已更新 2024年3月17日
分享:

PDF 檔案廣泛用於文件共享和數據顯示。在網頁應用程式中,通常需要在瀏覽器內直接向用戶顯示 PDF 檔案。ASP.NET Core 應用程式提供了多種選項來實現此功能,且一個受歡迎的處理 PDF 檔案的庫是 IronPDF。

IronPDF 是一個強大的 .NET 庫,允許開發人員輕鬆創建、編輯和操作 PDF。本文將探討如何使用 IronPDF 在 ASP.NET Core PDF 檢視器應用程式中顯示 PDF 檔案。它將涵蓋設置必要元件的步驟,並提供示範 ASP.NET Core PDF 檢視器整合的範例邏輯。

設置環境

要開始,請確保您具備以下前提條件:

  1. Visual Studio:安裝最新版本的Visual Studio或任何其他相容的整合式開發環境 (集成開發環境) 自選。

  2. 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 應用程式專案。

    如何在 ASP.NET Core 中顯示 PDF 檔,圖 2:網頁應用程式

    Web 應用程式

  2. 選擇 "ASP.NET Core Web 應用程式" 範本。

    如何在ASP.NET Core中顯示PDF文件,圖3:.NET框架

    .NET Framework

選擇所需的專案設定並點擊「建立」來生成新的專案。

添加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

從服務器端創建 PDF 從 ASP.NET Core 網頁,請按以下步驟操作:

如何在ASP.NET Core中顯示PDF文件,圖6:NuGet套件管理器 - 解決方案總管

解決方案總管

步驟 1 添加 IronPDF 命名空間

打開要轉換為 PDF 的 ASP.NET Core 網頁的源文件路徑。在後置代碼文件中 (Index.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 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 頁面轉 PDF

加載並顯示 PDF 文件在 ASP.NET Core 中

接下來,本節將探討使用 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。 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 從 ASP.NET Web API 將 ASP.NET Web Forms 轉換為 PDF 文件

您可以僅使用一行代碼輕鬆將 ASP.NET web forms 轉換為 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 Form 轉換為 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 方法將從 Web API 將 Web 表單轉換為 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還提供其他功能,例如 提取圖片和文本 從 PDF 使用 OCR, 渲染圖表, 添加條碼, 使用密碼增強安全性浮水印甚至 處理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.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >