使用 IRONPDF

如何使用 C# 和 IronPDF 在 ASP.NET 中檢視 PDF 檔案

已更新 2024年1月20日
分享:

大多數人在電腦上使用專用桌面應用程式開啟PDF,但軟體工程師也可以使用IronPDF以C#程式化地創建、查看、開啟、閱讀和編輯PDF內容。

IronPDF 在使用 ASP.NET 和 C# 讀取 PDF 文件時,證明是一個非常有用的插件。

您可以下載該ASP.NET PDF 示範專案.

使用 IronPDF 和 C# 可以快速輕鬆地創建 PDF 文件。

PDF 文件的設計和佈局大多可以通過使用現有的 HTML 資源來實現,或者將該任務委託給網頁設計員工; 它負責將 PDF 生成集成到您的應用程式中的耗時任務,並自動將準備好的文件轉換為 PDF。 使用 .NET,您可以:

  • 將網頁表單、本地 HTML 頁面和其他網站轉換為 PDF 格式。
  • 允許用戶下載文件,通過電子郵件與他人分享,或將其保存在雲端。
  • 向客戶開立發票並提供報價; 準備報告; 談判合同及其他文件。
  • 適用於 ASP.NET、ASP.NET Core、Web 表單、MVC、.NET Framework 和 .NET Core 上的 Web API 及其他程式語言。

設定 IronPDF 庫

有兩種方式安裝該函式庫;

使用 NuGet 套件管理器安裝

IronPDF 可以透過 Visual Studio 增益集或從命令行使用 NuGet 套件管理器安裝。在控制台導航,在 Visual Studio 中輸入以下代碼:

Install-Package IronPdf

直接從網站下載 DLL 檔案

或者,您可以直接從網站獲取 DLL。

請記得在任何使用 IronPDF 的 cs 類別檔案頂部加入以下備註:

查看IronPDF 詳細功能概覽.

IronPDF 是一個必備的插件。 立即獲取您的版本並嘗試使用IronPDF NuGet套件.

在 .NET C# 中從 HTML 字串建立 PDF 檔案

在 C# 中從 HTML 字串創建 PDF 檔案是一種高效且有成效的方法來創建新的 PDF 檔案。

RenderHtmlAsPdf函數 從 ㄧChromePdfRenderer提供簡單的方法將任意 HTML 轉換(HTML5)由於IronPDF DLL中嵌入的Google Chromium引擎,將字串轉換為PDF文件。

//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render HTML to pdf
Dim renderer = New ChromePdfRenderer()
Dim rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>")

Dim Output_Path = "My_First_Html.pdf"
PDF.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
VB   C#

RenderHtmlAsPdf 是一個強大的工具,全面支持 CSS、JavaScript 和圖像。 如果這些材料存儲在硬碟上,可能需要設置 RenderHtmlAsPdf 的第二個參數。

以下代碼將生成一個 PDF 文件:

var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
Dim Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", "C:\Newproject")
VB   C#

所有 CSS 樣式表、圖片和 JavaScript 檔案的引用都將相對於 BaseUrlPath,從而保持更加有序和合乎邏輯的結構。 當然,您可以利用網路上可用的圖片、樣式表和資源,例如 Web 字體、Google 字體,甚至 jQuery。

創建 PDF 文件。

使用現有的 HTML URL

現有的 URL 可以通過 C# 以非常高效且直接的方式轉換為 PDF; 這也使團隊能夠將 PDF 設計和後端 PDF 渲染工作分配到不同部分,這是有益的。

以下程式碼示範如何從其 URL 渲染 endeavorcreative.com 頁面:

//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render url to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/")

Dim Output_Path = "Url_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
VB   C#

因此,所有超連結(HTML 鏈接)甚至 HTML 表單也會保留在生成的 PDF 中。

從現有的 HTML 文件創建 PDF 文件

本節說明如何渲染任何本地 HTML 文件。文件將顯示為使用 file:/ 協議開啟,以便處理所有相對資源,如 CSS、圖片和 JavaScript 等。

//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render existing html to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html")

Dim Output_Path = "test1_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
VB   C#

此策略的優勢在於,開發人員可以在創建 HTML 內容的同時在瀏覽器中進行測試。 IronPDF 的渲染引擎是建立在 Chrome 網頁瀏覽器上的。 因此,建議使用XML 轉換為 PDF因為可以使用 XSLT 模板將 XML 內容列印為 PDF。

將 ASP.NET Web Forms 轉換為 PDF 檔案

只需一行程式碼,您就可以將 ASP.NET 線上表單轉換為 PDF 格式,而不是 HTML。 將該行程式碼放置在頁面程式碼後置檔案的 Page_Load 方法中,使其顯示在頁面上。

可以從頭開始建立或從先前版本開啟 ASP.NET Web Forms 應用程式。

如果尚未安裝,請安裝 NuGet 套件。

應使用 using 關鍵字來匯入 IronPdf 命名空間。

導航至您想要轉換為 PDF 的頁面後端代碼。 例如,使用 ASP.NET 的文件 Default.aspx.cs

RenderThisPageAsPdfAspxToPdf 類別上的一個方法。

using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.UI

Namespace WebApplication7
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
		End Sub
	End Class
End Namespace
VB   C#

這需要IronPdf.Extensions.ASPX NuGet 套件需要安裝。 在 .NET Core 中不可用,因為 ASPX 已被 MVC 模型取代。

套用 HTML 模板化

對於內部網和網站開發人員來說,模板化或「批量生成」PDF 是一項基本需求。

與其為 PDF 文件創建範本,IronPDF 庫提供了一種利用現有且經過良好測試的技術來生成 HTML 範本的方法。

當將查詢字串或數據庫中的數據補充到HTML範本中時,會動態生成PDF文件,如下所示。

作為範例,考慮 C# String 類別及其屬性。 格式方法適用於基本的「郵件合併」操作。

String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World")
VB   C#

由於HTML檔案可能非常龐大,因此通常會使用任意佔位符,例如[[名稱]]然後用準確的數據替換它們。

以下範例將生成三個 PDF 文件,每個文件都將為不同的用戶進行定制。

var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)

Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(HtmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
VB   C#

ASP.NET MVC 路由 下載此頁的 PDF 版本

使用 ASP.NET MVC 框架,您可以將用戶引導至 PDF 檔案。

在建立新的 ASP.NET MVC 應用程式或將現有的 MVC 控制器新增至現有應用程式時,請選擇此選項。 啟動 Visual Studio 新專案精靈,選擇 ASP.NET Web 應用程式(.NET框架)> 從下拉選單中選擇 MVC。 或者,您可以打開一個現有的 MVC 專案。 在 Controllers 資料夾中的 HomeController 文件中替換 Index 方法,或在 Controllers 資料夾中創建一個新的控制器。

以下是一個程式碼編寫範例:

using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.Mvc

Namespace WebApplication8.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Dim PDF = HtmlToPdf.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
			Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
		End Function

		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."

			Return View()
		End Function

		Public Function Contact() As ActionResult
			ViewBag.Message = "Your contact page."

			Return View()
		End Function
	End Class
End Namespace
VB   C#

將封面頁添加到 PDF 文件中

如何使用 C# 和 IronPDF 在 ASP.NET 中查看 PDF 檔案,圖 1:為 PDF 文件添加封面頁面為 PDF 文件添加封面頁

IronPDF 簡化了合併 PDF 文件的過程。 這種技術最常見的應用是為已生成的 PDF 文件添加封面或背頁。

為了完成此操作,準備一個封面頁,然後使用PdfDocument功能。

要合併這兩個文件,使用合併PDF文件方法.

var renderer = new ChromePdfRenderer();
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");
var renderer = new ChromePdfRenderer();
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");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Dim merged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf)
merged.SaveAs("Combined.Pdf")
VB   C#

在您的文檔中新增浮水印

最後但同樣重要的是,使用 C# 程式碼可以為 PDF 文件新增浮水印。 這可以用來在文件的每一頁上添加聲明,指出其為「保密」或「範例」。

// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
' prepare a stamp
Dim stamper As New HtmlStamper("<h2 style='color:red'>SAMPLE</h2>") With {
	.HorizontalOffset = New Length(-3, MeasurementUnit.Inch),
	.VerticalAlignment = VerticalAlignment.Bottom
}

' Stamps a watermark onto a new or existing PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyStamp(stamper)
pdf.SaveAs("C:\PathToWatermarked.pdf")
VB   C#

您的 PDF 文件可以使用密碼保護

當您設定 PDF 文件的密碼屬性時,文件將被加密,用戶需要提供正確的密碼才能閱讀該文件。 此範例可以用於 .NET Core 控制台應用程式。

using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
Imports IronPdf

Namespace ConsoleApp
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim renderer = New ChromePdfRenderer()
			Dim pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
			pdfDocument.Password = "strong!@#pass&^%word"
			pdfDocument.SaveAs("secured.pdf")
		End Sub
	End Class
End Namespace
VB   C#

在沒有上述優勢的情況下,使用IronPDF,您還可以:

*使用光學字符識別(OCR)從 PDF 中提取圖片和文本。

*编辑 PDF 的 HTML 内容

  • 增強前景和背景圖像
  • 添加數位簽名到PDFs
  • 自動填入你的快速輕鬆地處理 PDF 表單

    製作 PDF 是一項具有挑戰性的工作; 某些人可能從未接觸過應該運用的基本概念來製作最出色的文件。 因此,IronPDF 非常有幫助,因為它簡化了 PDF 的創建,從而改善了由 PDF 和 HTML 創建的文件的原始呈現效果。

    根據文件和競爭分析中提供的信息:IronPDF 是創建 PDF 時最有效的工具,使任何人,包括在辦公室或學校工作的人,都能高效完成工作。

    如何在 ASP.NET 中使用 C# 和 IronPDF 查看 PDF 文件,圖 2:如何在 ASP.NET 中使用 C# 和 IronPDF 查看 PDF 文件如何使用 C# 和 IronPDF 在 ASP.NET 中檢視 PDF 檔案

    IronPDF 是一個必備的 .NET 程式庫。 立即獲取您的版本並嘗試使用IronPDF NuGet套件.

< 上一頁
從 HTML 文件在 C# 中建立 PDF
下一個 >
使用 IRON PDF 在 C# 中生成 PDF 文件的5個步驟

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

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