使用 IRONPDF

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

Kannaopat Udonpant
坎納帕特·烏頓潘
2023年1月27日
已更新 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 Framework選擇

.NET Framework 選擇

最後,點擊_建立_以生成新的 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 套件下載 IronPDF ZIP 檔案

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

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

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;
}

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

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

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

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

生成的 PDF 檔案

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

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

閱讀這篇從 HTML 生成 PDF 的教學以獲取更多資訊。

結論

在生產環境中使用 IronPDF 而不帶水印,請使用免費試用金鑰。 IronPDF 附帶 SaaS 和 OEM 重新分發許可,需額外付費。欲了解更多資訊,請參考IronPDF 許可頁面

Kannaopat Udonpant
坎納帕特·烏頓潘
軟體工程師
在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat 也成為了車輛機器人實驗室的成員,該實驗室隸屬於生物生產工程學系。2022 年,他利用自己的 C# 技能,加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。Kannapat 珍視這份工作,因為他可以直接向負責撰寫大部分 IronPDF 程式碼的開發人員學習。除了同儕學習外,Kannapat 還享受在 Iron Software 工作的社交方面。當他不在撰寫程式碼或文件時,Kannapat 通常會在 PS5 上玩遊戲或重看《最後生還者》。
< 上一頁
使用 IronPDF 的 C# 中 PDFium 替代方案
下一個 >
如何在 C# 中從 URL 下載 PDF(逐步)教程