使用 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 Library:從 官方 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 應用程式專案。

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

    網路應用程式

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

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

    .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
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 Page 就會使用 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 頁面轉 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 Class Documentation用於渲染指定 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 從 ASP.NET Web API 將 ASP.NET Web Forms 轉換為 PDF 文件

您可以輕鬆將 ASP.NET Web 表單轉換為 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還提供其他功能,例如使用OCR提取圖像和文本從PDF提取資料,將圖表渲染為PDF, 將條碼添加到PDF, 使用密碼增強文件安全性PDF 的浮水印技術甚至處理和自定義 PDF 表單,以及更多。 使用 IronPDF,您可以簡化創建 PDF 的過程,並改善文件的整體呈現。

結論

IronPDF 是一款專為 .NET 開發人員設計的卓越工具,提供多種功能以輕鬆處理其 .NET 專案中的 PDF 操作。 使用IronPDF,開發人員可以提高他們的工作流程並精簡其作業流程。 這個強大的工具提供了眾多功能,使 PDF 文件格式化、頁面刪除、頁面新增等操作變得流暢無阻。 它使開發人員能夠根據其特定需求有效管理和自定義 PDF 文檔。

IronPDF 不僅功能強大,還提供了開發用途免費的好處。 這表示開發人員在專案的開發階段可以無需支付任何費用地利用其功能。 透過使用 IronPDF,開發人員可以提高生產力並在與 PDF 相關的任務中取得顯著成果,最終在其 .NET 專案中提供高品質且高效的解決方案。

還有許多其他有用的庫,例如 IronPDF 用於處理 PDF 文件,IronXL 用於處理 Excel 文件,IronOCR 用於處理光學字符識別(OCR)。 目前,您只需購買 Iron Suite 完整包即可以兩個價格獲得全部五個程式庫。請造訪我們的Iron Software 授權資訊了解更多詳情。

< 上一頁
如何在 .NET 中將 PDF 轉換為 PNG
下一個 >
如何在 .NET MAUI 中顯示嵌入式 PDF 文本

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >