使用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 Framework 选择***

最后,点击 _Create 生成新的 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 包管理器图形用户界面。

如何在 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 网站下载

  • 导航至IronPDF NuGet 包页面.
  • 单击右侧菜单中的下载软件包。
  • 在 Windows 资源管理器中双击下载的软件包,即可将其自动安装到您的项目中。

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 的所有功能。 然后使用将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 再分发许可,但需额外付费。要了解更多信息,请参阅IronPDF 许可证页面.

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

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >