如何在ASP.NET使用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。
- Annotate PDFs.
- 新增標題、頁腳,文字、圖像、書籤、水印等
在Visual Studio中建立新專案
本文將通過一個簡單的控制台應用程式展示IronPDF的文件生成能力。
開啟Visual Studio軟體並進入文件選單。 選擇"新專案",然後選擇"控制台應用程式"。
新專案
指定專案名稱及其位置。 點擊_下一步_按鈕並選擇一個.NET Framework。
.NET Framework選擇
最後,點擊_建立_以生成新的Visual Studio專案。
.NET Program.cs
3. 安裝IronPDF程式庫
IronPDF程式庫可以通過四種方式下載和安裝。
這四種方式是:
- 使用Visual Studio。
- 使用Visual Studio命令行。
- 直接從NuGet網站下載。
- 直接從IronPDF網站下載。
3.1 使用Visual Studio
NuGet Package Manager在Visual Studio軟體中可用,以便從NuGet輕鬆安裝套件。 下圖顯示如何打開NuGet Package Manager圖形介面。
NuGet包管理器
在Package Manager GUI的瀏覽標籤中搜尋"IronPDF"。
IronPDF安裝
選擇IronPdf套件(第一選項)並點擊_安裝_按鈕以將其新增到解決方案中。
3.2 使用Visual Studio命令行
In Visual Studio, go to Tools > NuGet包管理器 > Package Manager Console
在Package Manager Console標簽中輸入以下命令並按ENTER。
Install-Package IronPdf
安裝IronPDF
3.3 直接從NuGet網站下載
- 前往IronPDF NuGet套件頁面。
- 點擊右側選單中的下載套件。
- 雙擊Windows資源管理器中下載的套件以自動安裝至專案中。
3.4 直接從IronPDF網站下載
直接下載IronPDF ZIP檔,並包含IronPDF套件的最新版本。
下載後,請按照下面的步驟將套件新增到專案中。
- 在解決方案資源管理器窗口中右鍵專案。
- 然後,選擇參考選項,並瀏覽下載的參考位置。
- 接下來,單擊確定以新增引用。
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
ChromePdfRenderer類的實例以存取PDF建立功能。 - 接下來,調用
BuildTemplate方法生成的HTML字串。 此方法將HTML轉換為PDF。 StringBuilder來構建填充資料的HTML表格。GetData返回表示"貓科"的字串列表,用於填充HTML表的行。
以下是使用給定範本生成的範例PDF文件,只需幾行程式碼。
生成的PDF文件
可以使用任何型別的HTML標籤建立模板,這可以幫助使用者生成使用者表單、收據等,範本相同但資料不同。
可以使用RenderUrlAsPdf或RenderHtmlFileAsPdf方法從不同來源生成PDF文件。 前一個方法接受網頁的URL,而後者則接受包含電腦上HTML文件位置的字串。
閱讀這個從HTML生成PDF的教程以獲取更多資訊。
結論
在生產環境中使用IronPDF而無水印,請使用免費試用金鑰。 IronPDF附帶SaaS和OEM再分發授權,需額外付費。如需了解更多,請參考IronPDF授權頁面。
常見問題
如何使用C#從HTML模板生成PDF?
您可以使用IronPDF從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'並點擊安裝,或在套件管理員控制台中使用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?
要建立一個新Visual Studio專案以使用IronPDF,打開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相容性的文件)




