如何在C#中從模板生成PDF
PDF 文件在當今社會非常普遍,各種企業都使用它來建立發票和其他文件。 在為專案選擇 .NET 程式庫時,應考慮建立、讀取和寫入 PDF 檔案的便利性。
如何在 C# 中從模板產生 PDF
- 安裝 C# 庫以從模板產生 PDF
- 使用 StringBuilder 類構建 HTML 字符串
- 使用存儲的列表資料填充 HTML 模板
- 使用 RenderHtmlAsPdf 方法從模板生成 PDF
- 將生成的 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 的全部功能包括:
- 將圖像轉換為 PDF (以及將 PDF 頁面轉換為圖像) 合併和拆分PDF文件
- 以程式設計方式完成PDF 表單
- 從 PDF 中萃取文字和影像 IronPDF 可以將圖片檔案以及 HTML 檔案轉換為 PDF 檔案。
- 從網頁、HTML 標籤和離線 HTML 文件建立 PDF
- 從被 HTML 登入表單鎖定的網頁產生 PDF 檔案。 -註釋 PDF 檔案。 -新增頁首、頁尾、文字、圖像、書籤、浮水印等
在 Visual Studio 中建立新專案
本文將透過一個簡單的控制台應用程式來示範 IronPDF 的文件產生功能。
開啟 Visual Studio 軟體,然後前往"檔案"選單。 選擇"新建專案",然後選擇"控制台應用程式"。
請指定項目名稱及其所在地。 點選"下一步"按鈕,然後選擇 .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
在上述程式碼中
- 首先,我們建立一個 IronPDF 類別的實例來存取 PDF 建立功能。
接下來,我們呼叫
RenderHtmlAsPdf方法,並將BuildTemplate方法建構的 HTML 字串傳遞給它。 此方法將 HTML 轉換為 PDF。 BuildTemplate方法使用StringBuilder建立一個填入了資料的 HTML 表格。GetData傳回一個表示"貓家族"的字串列表,該列表填入 HTML 表格的行。
下面是一個範例 PDF 文件,它使用上述程式碼和給定的模板,只用幾行程式碼就產生了。
如何在 C# 中從範本產生 PDF,圖 7:產生的 PDF 文件 生成的PDF文件
可以使用任何類型的 HTML 標籤來建立模板,該模板可以幫助使用者產生使用者表單、收據等,並提供範例模板但使用不同的資料。
可以使用方法RenderUrlAsPdf或RenderHtmlFileAsPdf從不同的來源產生 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 包管理器。搜尋 'IronPDF' 並點擊安裝,或者使用 Package Manager Console 來輸入命令 Install-Package IronPDF。
IronPDF 在轉換到 PDF 時能處理複雜的 HTML5 和 JavaScript 嗎?
是的,IronPDF 能夠處理複雜的 HTML5 和 JavaScript,確保將複雜的網頁轉換為 PDF 文檔時保持預期的格式和功能。
在 C# 中從模板生成 PDF 的一些常見用途是什麼?
在 C# 中從模板生成 PDF 的常見用途包括創建發票、報告和表單。IronPDF 允許您自動化這些過程,將動態的 HTML 模板填充數據後轉換為專業的 PDF 文檔。
IronPDF 是否與 ASP.NET 和 Windows Forms 兼容?
是的,IronPDF 與包括 ASP.NET 和 Windows Forms 在內的各種 .NET Framework 項目類型兼容,這使其在不同應用程序開發環境中非常通用。
如何創建新的 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兼容性的文件)



