使用 IRONPDF

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

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 或您選擇的任何其他相容的整合開發環境 (IDE)。

  2. IronPDF Library:從官方 IronPDF 網站或透過 NuGet 套件管理器獲取 IronPDF library。

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

只需一行程式碼,即可使用擴充方法RenderRazorToPdf將Razor Page轉換為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")
$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 應用程序輸出

網頁應用程式輸出

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

將 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
$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 專案中提供高品質且高效的解決方案。

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

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
如何在 .NET 中將 PDF 轉換為 PNG
下一個 >
如何在 .NET MAUI 中顯示嵌入式 PDF 文本