使用IRONPDF

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

更新 2024年二月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 窗体和其他传统的 Windows 应用程序类型。IronPDF 能够将 ASPX、Razor 和其他 MVC 视图组件直接渲染为 PDF。

IronPDF 的全套功能包括

在 Visual Studio 中创建新项目

本文将通过一个简单的控制台应用程序生成 IronPDF 的文档生成能力。

打开 Visual Studio 软件,进入 "文件 "菜单。选择 "新建项目",然后选择 "控制台应用程序"。

如何在 C# 中从模板生成 PDF,图 1:新建项目

新项目

指定项目名称及其位置。单击 Next 按钮并选择 .NET Framework。

如何在 C# 中从模板生成 PDF,图 2:.NET 框架选择

.NET框架选择

最后,点击 _Create 生成新的 Visual Studio 项目。

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

.NET Program.cs

3.安装 IronPDF 库

可以通过四种方式下载和安装 IronPDF 库。

这四种方式是

  • 使用 Visual Studio。
  • 使用 Visual Studio 命令行
  • 直接从 NuGet 网站下载。
  • 直接从 IronPDF 网站下载。

3.1 使用 Visual Studio

Visual Studio 软件中提供了 NuGet 软件包管理器,可轻松安装来自 NuGet 的软件包。下面的截图显示了如何打开 NuGet 包管理器图形用户界面。

如何在 C# 中从模板生成 PDF,图 4:NuGet 包管理器

NuGet软件包管理器

在软件包管理器图形用户界面的 "浏览 "选项卡中搜索 "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 网站下载

  • 导航至 链接.
  • 点击右侧菜单中的下载软件包。

  • 在 Windows 资源管理器中双击下载的软件包,将其自动安装到项目中。

3.4 直接从 IronPDF 网站下载

点击 在此下载 IronPDF ZIP 文件 直接与 最新版本 的 IronPDF 软件包。

下载后,请按照以下步骤将软件包添加到项目中。

  • 在 "解决方案资源管理器 "窗口中右键单击项目。
  • 然后,选择 Reference 选项并浏览下载的参考文献位置。

  • 然后,单击 "确定 "添加引用。

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 的所有功能。然后使用 将Html渲染为Pdf 方法从 HTML 字符串创建 PDF 文档。通过使用 RenderHtmlAsPdf 方法。该方法还接受字符串可能包含的内部和外部 CSS 文件的引用。

上面的代码使用 `List对象,并使用 HTML 标记表格、表格行和表格定义创建 HTML 模板。for 循环用于将数据逐一与给定的 HTML 模板绑定。这意味着可以传递任何字符串类型或数据模型对象列表,并将它们保存到 PDF 文件中。

下面是 PDF 文件示例,它是通过使用给定的模板,仅用几行代码就从上述代码中生成的。

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

生成 PDF 文件

任何类型的 HTML 标签都可用于创建模板,帮助用户生成用户表单、收据等,模板样本相同,但数据不同。

可以使用 将URL渲染为PDF渲染 HTMLFileAsPdf 来生成不同来源的 PDF 文件。前一种方法接受的是网页的 URL,而后一种方法接受的是包含计算机上 HTML 文件位置的字符串。

阅读此处 教程 获取更多有关从 HTML 生成 PDF 的信息。

结论

在生产中使用 IronPDF,无需水印和 免费试用密钥.IronPDF 提供 SaaS 和 OEM 再分发许可,但需额外付费。要了解更多信息,请参阅 许可 page.

< 前一页
使用IronPDF在C#中的PDFium替代品
下一步 >
如何从URL下载PDF(C#逐步教程)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >