跳過到頁腳內容
使用IRONPDF
如何在 C# | IronPDF 中從模板生成 PDF

如何在C#中從模板生成PDF

PDF 文件在當今社會非常普遍,各種企業都使用它來建立發票和其他文件。 在為專案選擇 .NET 程式庫時,應考慮建立、讀取和寫入 PDF 檔案的便利性。

IronPDF 功能。

IronPDF是市面上最好的HTML轉PDF轉換器之一。 IronPDF幾乎可以處理瀏覽器能夠處理的任何操作。 它可以利用 HTML5、JavaScript、CSS 和圖像來建立 PDF 檔案。 .NET PDF 函式庫讓產生 PDF 檔案、讀取現有 PDF 和編輯 PDF 檔案變得簡單。 可進行的修改包括更改字體大小、分頁、文字內容等。 IronPDF 使用者可以在渲染的 PDF 文件中建立表單欄位。

IronPDF 與所有 .NET Framework 專案類型相容,包括 ASP.NET、Windows Forms 和其他傳統 Windows 應用程式類型。 IronPDF 能夠將 ASPX、Razor 和其他 MVC 視圖元件直接渲染到 PDF 中。

IronPDF 的全部功能包括:

在 Visual Studio 中建立新專案

本文將透過一個簡單的控制台應用程式來示範 IronPDF 的文件產生功能。

開啟 Visual Studio 軟體,然後前往"檔案"選單。 選擇"新建專案",然後選擇"控制台應用程式"。

如何在 C# 中從範本產生 PDF,圖 1:新項目 新專案

請指定項目名稱及其所在地。 點選"下一步"按鈕,然後選擇 .NET Framework。

如何在 C# 中從範本產生 PDF,圖 2:.NET Framework 選擇 .NET Framework 選擇

最後,點選"建立"按鈕產生新的 Visual Studio 專案。

如何在 C# 中從範本產生 PDF,圖 3:.NET Program.cs .NET 程序.cs

3.安裝 IronPdf 函式庫。

IronPDF庫可以透過四種方式下載和安裝。

這四種方法分別是:

使用 Visual Studio。

  • 使用 Visual Studio 命令列。
  • 直接從 NuGet 網站下載。
  • 直接從 IronPDF 網站下載。

3.1 使用 Visual Studio

Visual Studio 軟體中提供了 NuGet 套件管理器,方便使用者從 NuGet 安裝套件。 下面這張截圖展示如何開啟 NuGet 套件管理器 GUI。

如何在 C# 中從範本產生 PDF,圖 4:NuGet 套件管理器 NuGet 套件管理器

在軟體包管理器 GUI 的"瀏覽"標籤中搜尋"IronPDF"。

如何在 C# 中從模板產生 PDF,圖 5:IronPDF 安裝 IronPDF 安裝

選擇IronPdf套件(第一個選項),然後按一下"安裝"按鈕將其新增至解決方案。

3.2 使用 Visual Studio 命令列。

在 Visual Studio 中,前往"工具" > "NuGet 套件管理員" > "套件管理員控制台"。

在套件管理員控制台標籤中輸入以下命令,然後按 ENTER 鍵。

Install-Package IronPdf

如何在 C# 中從範本產生 PDF,圖 6:安裝 IronPDF 安裝 IronPDF

3.3 直接從 NuGet 網站下載

  • 導覽至IronPDF NuGet 套件頁面
  • 點選右側選單中的"下載軟體包"。
  • 在 Windows 資源管理器中按兩下下載的軟體包,即可自動安裝到您的專案中。

3.4 直接從 IronPDF 網站下載

使用最新版本的 IronPDF 軟體包直接下載IronPDF ZIP 檔案

下載完成後,請依照下列步驟將套件新增至專案中。

  • 在解決方案資源管理器視窗中以滑鼠右鍵按一下專案。 然後,選擇"參考資料"選項,瀏覽下載的參考資料的位置。
  • 接下來,按一下確定以新增參考。

4. 從範本建立 PDF 文檔

下面的程式碼範例展示如何僅用幾行程式碼從給定的 HTML 範本建立 PDF 檔案。

using System;
using System.Collections.Generic;
using System.Text;
using IronPdf;

class Program
{
    static void Main()
    {
        // Create an instance of ChromePdfRenderer
        var renderer = new IronPdf.ChromePdfRenderer();

        // Render the HTML as PDF and save it as Test.pdf
        renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf");
    }

    /// <summary>
    /// Builds an HTML template string using StringBuilder
    /// </summary>
    /// <returns>HTML string representation of a table</returns>
    static string BuildTemplate()
    {
        var builder = new StringBuilder();
        builder.Append("<table border='1'>");
        builder.Append("<tr>");
        builder.Append("<th>");
        builder.Append("Cat Family");
        builder.Append("</th>");
        builder.Append("</tr>");

        // Iterate over the data and populate the table rows
        foreach (var item in GetData())
        {
            builder.Append("<tr>");
            builder.Append("<td>");
            builder.Append(item.ToString());
            builder.Append("</td>");
            builder.Append("</tr>");
        }

        builder.Append("</table>");
        return builder.ToString();
    }

    /// <summary>
    /// Provides a list of data representing different members of the cat family
    /// </summary>
    /// <returns>List of strings</returns>
    static List<string> GetData()
    {
        List<string> data = new List<string>
        {
            "Lion",
            "Tiger",
            "Cat",
            "Cheetah",
            "Lynx"
        };

        return data;
    }
}
using System;
using System.Collections.Generic;
using System.Text;
using IronPdf;

class Program
{
    static void Main()
    {
        // Create an instance of ChromePdfRenderer
        var renderer = new IronPdf.ChromePdfRenderer();

        // Render the HTML as PDF and save it as Test.pdf
        renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf");
    }

    /// <summary>
    /// Builds an HTML template string using StringBuilder
    /// </summary>
    /// <returns>HTML string representation of a table</returns>
    static string BuildTemplate()
    {
        var builder = new StringBuilder();
        builder.Append("<table border='1'>");
        builder.Append("<tr>");
        builder.Append("<th>");
        builder.Append("Cat Family");
        builder.Append("</th>");
        builder.Append("</tr>");

        // Iterate over the data and populate the table rows
        foreach (var item in GetData())
        {
            builder.Append("<tr>");
            builder.Append("<td>");
            builder.Append(item.ToString());
            builder.Append("</td>");
            builder.Append("</tr>");
        }

        builder.Append("</table>");
        return builder.ToString();
    }

    /// <summary>
    /// Provides a list of data representing different members of the cat family
    /// </summary>
    /// <returns>List of strings</returns>
    static List<string> GetData()
    {
        List<string> data = new List<string>
        {
            "Lion",
            "Tiger",
            "Cat",
            "Cheetah",
            "Lynx"
        };

        return data;
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Create an instance of ChromePdfRenderer
		Dim renderer = New IronPdf.ChromePdfRenderer()

		' Render the HTML as PDF and save it as Test.pdf
		renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf")
	End Sub

	''' <summary>
	''' Builds an HTML template string using StringBuilder
	''' </summary>
	''' <returns>HTML string representation of a table</returns>
	Private Shared Function BuildTemplate() As String
		Dim builder = New StringBuilder()
		builder.Append("<table border='1'>")
		builder.Append("<tr>")
		builder.Append("<th>")
		builder.Append("Cat Family")
		builder.Append("</th>")
		builder.Append("</tr>")

		' Iterate over the data and populate the table rows
		For Each item In GetData()
			builder.Append("<tr>")
			builder.Append("<td>")
			builder.Append(item.ToString())
			builder.Append("</td>")
			builder.Append("</tr>")
		Next item

		builder.Append("</table>")
		Return builder.ToString()
	End Function

	''' <summary>
	''' Provides a list of data representing different members of the cat family
	''' </summary>
	''' <returns>List of strings</returns>
	Private Shared Function GetData() As List(Of String)
		Dim data As New List(Of String) From {"Lion", "Tiger", "Cat", "Cheetah", "Lynx"}

		Return data
	End Function
End Class
$vbLabelText   $csharpLabel

在上述程式碼中

  • 首先,我們建立一個 IronPDF ChromePdfRenderer類別的實例來存取 PDF 建立功能。 接下來,我們呼叫RenderHtmlAsPdf並將BuildTemplate方法建構的 HTML 字串傳遞給它。 此方法將 HTML 轉換為 PDF。
  • BuildTemplate方法使用StringBuilder建立一個填充了資料的 HTML 表格。
  • GetData傳回表示"貓家族"的字串列表,該列表填入 HTML 表格的行。

下面是一個範例 PDF 文件,它使用上述程式碼和給定的模板,只用幾行程式碼就產生了。

如何在 C# 中從範本產生 PDF,圖 7:產生的 PDF 文件 生成的PDF文件

可以使用任何類型的 HTML 標籤來建立模板,該模板可以幫助使用者產生使用者表單、收據等,並提供範例模板但使用不同的資料。

可以使用RenderUrlAsPdfRenderHtmlFileAsPdf方法從不同的來源產生 PDF 檔案。 前一種方法接受網頁的 URL,而後一種方法接受包含電腦上 HTML 檔案位置的字串。

請閱讀這篇關於如何從 HTML 產生 PDF 的教程,以了解更多資訊。

結論

使用免費試用金鑰,即可在生產環境中使用無浮水印的 IronPDF。 IronPDF 提供 SaaS 和 OEM 再分送許可,需額外付費。了解更多信息,請參閱IronPDF 許可頁面

常見問題解答

如何使用 C# 從 HTML 模板生成 PDF?

您可以使用 IronPDF 從 C# 中的 HTML 模板生成 PDF。首先,使用 StringBuilder 類建立一個包含資料占位符的 HTML 字串。然後,使用您的資料填充範本,並使用 IronPDF 的 RenderHtmlAsPdf 方法將 HTML 轉換成 PDF 文件。

IronPDF 提供哪些方法將 HTML 轉換為 PDF?

IronPDF 提供多種將 HTML 轉換為 PDF 的方法,包括針對 HTML 字串的 RenderHtmlAsPdf 方法、針對本機 HTML 檔案的 RenderHtmlFileAsPdf 方法,以及針對網頁 URL 的 RenderUrlAsPdf 方法。這些方法允許從不同的 HTML 來源靈活地建立 PDF。

如何在我的 C# 專案中安裝 IronPDF?

要在 C# 專案中安裝 IronPDF,您可以使用 Visual Studio 中的 NuGet Package Manager。搜尋「IronPDF」並點選安裝,或使用套件管理員控制台的指令 Install-Package IronPdf

IronPDF 能在轉換為 PDF 時處理複雜的 HTML5 和 JavaScript 嗎?

是的,IronPdf 可以處理複雜的 HTML5 和 JavaScript,確保將複雜的網頁轉換為 PDF 文件時,保持預期的格式和功能。

用 C# 從模板產生 PDF 有哪些常見用途?

用 C# 從模板生成 PDF 的常見用途包括創建發票、報告和表單。IronPDF 可讓您將填滿資料的動態 HTML 模版轉換成外觀專業的 PDF 文件,從而自動化這些流程。

IronPDF 兼容 ASP.NET 和 Windows Forms 嗎?

是的,IronPDF 與各種 .NET Framework 專案類型相容,包括 ASP.NET 和 Windows Forms,使其適用於不同的應用程式開發環境。

如何創建一個新的 Visual Studio 專案來使用 IronPDF 生成 PDF?

要為使用 IronPDF 建立新的 Visual Studio 專案,請開啟 Visual Studio,選擇「新專案」,選擇「控制台應用程式」,指定專案名稱和位置,選擇 .NET Framework,然後按一下「建立」。之後,透過 NuGet 安裝 IronPDF。

IronPDF 可以從帶有登錄表單的安全網頁生成 PDF 嗎?

是的,IronPDF 可以從需要透過 HTML 登入表單進行驗證的網頁中產生 PDF,讓您有效處理安全且受保護的網頁內容。

IronPDF 是否與 .NET 10 完全相容,該支援包含哪些內容?

是的,IronPDF 與 .NET 10 完全相容。它可以在 .NET 10 專案上開箱即用,無需任何額外的設定,支援現代的部署目標(Windows、Linux、容器),並利用 .NET 10 中新的效能改進,同時維持相同的 API 和功能集。(來源:IronPDF 與 .NET 10 相容的說明文件)

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。