使用 IRONPDF

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

已更新 2024年2月25日
分享:

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框架選擇

.NET 框架選擇

最後,點擊_建立_以生成新的 Visual Studio 專案。

如何在 C# 中從模板生成 PDF,圖 3:.NET Program.cs

.NET Program.cs

3. 安裝 IronPDF 庫

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

這四種方法是:

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

3.1 使用 Visual Studio

NuGet 套件管理器可在 Visual Studio 軟體中使用,以便輕鬆從 NuGet 進行套件安裝。 以下截圖顯示如何打開 NuGet 套件管理器 GUI。

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

NuGet 套件管理員

在套件管理器 GUI 的瀏覽標籤中搜索「IronPDF」。

如何在 C# 中根據模板生成 PDF,第 5 圖:安裝 IronPDF

IronPDF 安裝

選擇 IronPdf 套件(第一選項)然後點擊 Install 按鈕將其添加到方案中。

3.2 使用 Visual Studio 命令列

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

在「套件管理器主控台」標籤中輸入以下命令並按下 ENTER。

Install-Package IronPdf

如何在 C# 中從模板生成 PDF,第 6 圖:安裝 IronPDF

安裝 IronPDF

3.3 從 NuGet 網站直接下載

  • 導航至IronPDF NuGet 套件頁面.
  • 從右側選單中點擊下載包。
  • 在 Windows Explorer 中雙擊下載的軟體包以自動將其安裝到您的專案中。

3.4 直接從 IronPDF 網站下載

下載IronPDF ZIP 檔案直接與最新版本IronPDF 套件的一部分。

下載後,請按照以下步驟將套件添加到專案中。

  • 在「方案總管」視窗中右鍵點擊該專案。
  • 然後,選擇選項參考並瀏覽已下載的參考位置。
  • 接下來,點擊確定以添加參考。

4. 從範本建立 PDF 文件

下面的代碼範例顯示如何只需幾行代碼即可從給定的 HTML 模板創建 PDF 文件。

var renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf");

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>");
    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();
}

static List<string> GetData()
{
    List<string> _data = new List<string>();
    _data.Add("Lion");
    _data.Add("Tiger");
    _data.Add("Cat");
    _data.Add("cheetah");
    _data.Add("lynx");
    return _data;
}
var renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf");

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>");
    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();
}

static List<string> GetData()
{
    List<string> _data = new List<string>();
    _data.Add("Lion");
    _data.Add("Tiger");
    _data.Add("Cat");
    _data.Add("cheetah");
    _data.Add("lynx");
    return _data;
}
Dim renderer = New IronPdf.ChromePdfRenderer()
renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf")

'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'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>");
'	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();
'}

'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'static List(Of string) GetData()
'{
'	List<string> _data = New List<string>();
'	_data.Add("Lion");
'	_data.Add("Tiger");
'	_data.Add("Cat");
'	_data.Add("cheetah");
'	_data.Add("lynx");
'	Return _data;
'}
VB   C#

在上面的程式碼中,首先創建一個 IronPDF 類別的對象,這樣即可存取 IronPDF 的所有功能。 然後用RenderHtmlAsPdf從 HTML 字串創建 PDF 文件的方法。 通過使用 RenderHtmlAsPdf 方法。 此方法還接受字串中可能包含的內部和外部 CSS 文件的引用。

上面的代碼使用 List 從列表中構建一個 HTML 字串。`物件,並建立一個包含 HTML 標籤表格、表格列和表格定義的 HTML 範本。 for 迴圈用於將資料逐一綁定到指定的 HTML 範本中。 這意味著可以傳遞任何字串類型或資料模型物件清單,並將它們儲存為 PDF 檔案。

以下是使用給定範本僅需幾行代碼生成的示例 PDF 文件。

如何在C#中從模板生成PDF,圖7:生成的PDF文件

生成的 PDF 文件

任何類型的HTML標籤都可以用來創建一個模板,以幫助用戶生成用戶表單、收據等,使用樣本模板但不同的數據。

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

閱讀此內容從 HTML 生成 PDF 的教程更多資訊。

結論

使用 IronPDF 進行製作而無水印,搭配一個免費試用密鑰. IronPDF提供SaaS和OEM重分發許可,需額外付費。欲了解更多資訊,請參閱IronPDF 授權頁面.

< 上一頁
使用 IronPDF 的 C# 中 PDFium 替代方案
下一個 >
如何在 C# 中從 URL 下載 PDF(逐步)教程

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

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