使用IRONPDF

C# 创建 PDF(代码示例教程)

更新 2024年九月4日
分享:

本文将教您如何使用 IronPDF for .NET 从 C# .NET 编程语言的网页中生成 PDF 文档。

IronPDF 是一个功能齐全的 PDF 库,适用于.NETJava. 它是可高效创建、编辑和处理 PDF 文档以及从其他文件类型的内容输出可编辑 PDF 文件的多个第三方库之一。(HTML、PNG、RTF 等。). 从不断增长的 IronPdf 目录中了解有关 IronPDF 和类似 PDF 库的更多信息。第三方库比较文章.

由于 HTML 是一种标记语言,因此很难将 HTML 内容转换成没有 HTML 标记的 PDF。 IronPDF 提供的功能包括用 C# 创建 PDF由于 HTML 易于使用,并具有使用 JavaScript、CSS 和图像等附加功能,因此我们建议将 HTML 与其他 HTML 工具结合起来使用。

本文将详细介绍 IronPDF 提供的 HTML 到 PDF 的 C# 转换。


1.在 Visual Studio 中创建新项目

打开 Visual Studio 软件,进入 "文件 "菜单。 选择新项目,然后选择控制台应用程序。 本文将使用控制台应用程序生成 PDF 文档。

C# 创建 PDF(代码示例教程),图 01:在 Visual Studio 中创建新项目

在Visual Studio中创建一个新项目

在相应的文本框中输入项目名称并选择路径。 然后,点击下一步按钮。

C# 创建 PDF(代码示例教程),图 02:配置此项目

配置此项目

选择所需的 .NET Framework,然后单击创建按钮,如下图所示:

C# 创建 PDF(代码示例教程),图 03:.NET 框架选择

*.NET Framework 选择***

Visual Studio 项目现在将为所选应用程序生成结构,如果您选择了控制台、Windows 和 Web 应用程序,它将打开 program.cs 文件,您可以在其中输入代码并构建/运行应用程序。

下一步是添加库和测试程序。

使用 Visual Studio NuGet 软件包管理器

Visual Studio 软件提供了 NuGet 软件包管理器选项,可直接将软件包安装到解决方案中。 下面的截图显示了如何打开 NuGet 包管理器。

不用担心许可证密钥,IronPDF 可免费用于开发。

C# 创建 PDF(代码示例教程),图 04:导航至 NuGet 包管理器

导航到NuGet包管理器

它提供了搜索框,显示 NuGet 网站上可用的软件包库列表。在软件包管理器中,搜索关键词 "IronPdf",如下截图所示:

C# 创建 PDF(代码示例教程),图 05:从 NuGet 软件包管理器安装 IronPdf 软件包

从 NuGet 软件包管理器安装 IronPdf 软件包

从上图中,从相关 NuGet 软件包列表中选择 IronPdf 选项,并安装该解决方案的软件包。

使用 Visual Studio 命令行

在 Visual Studio 菜单中,转到 工具 > NuGet 软件包管理器 > 软件包管理器控制台

C# 创建 PDF(代码示例教程),图 06:导航至软件包管理器控制台

导航至软件包管理器控制台

在“包管理器控制台”选项卡中输入以下行:

Install-Package IronPdf

C# 创建 PDF(代码示例教程),图 07:安装步骤

安装步骤

现在,软件包将下载/安装到当前项目,并可随时使用。

C# 创建 PDF(代码示例教程),图 08:软件包管理器控制台中的安装过程

软件包管理器控制台的安装过程

2.使用 RenderHtmlAsPdf() 从 HTML 创建 PDF

安装 IronPDF 库后,第一个目标是创建一个PDFDocumentC# 中的对象。 复制下面的代码并粘贴到 Visual Studio 中,然后运行程序。

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
VB   C#

执行 C# 项目后,在项目的 bin 文件夹中会出现一个名为 "FirstPDFDocument.pdf "的文件,双击上述文件,PDF 文件就会在浏览器标签页中打开。

C# 创建 PDF(代码示例教程),图 09:


用 C# 创建 PDF 文件或创建 PDF 文件将 HTML 转换为 PDF使用 IronPDF 只需几行代码。

3.从 URL 创建 PDF 文档

使用 URL 在 C# 中创建 PDF 文件和上面的示例一样简单,只需这三行代码。 以下代码将演示如何从URL创建PDF文件。

using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Dim pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
VB   C#

以下是上述代码的输出结果。

C# 创建 PDF(代码示例教程),图 10:PDF 文件输出,从 URL 呈现

PDF文件输出,由URL呈现

将流行的复杂网站转换为 PDF 的其他示例。

C# 创建 PDF(代码示例教程),图 11:渲染复杂网站的另一个示例

另一个渲染复杂网站的例子

4.将 ASP.NET MVC 渲染至 PDF

您可以在 ASP.NET MVC 中提供现有的 HTML 文件或字符串、现有的 PDF 文档或 PDF。 要轻松提供这些文件或字符串,请使用 IronPDF 并通过一个DLL ZIP 文件或通过IronPDF NuGet 软件包.

要在ASP.NET MVC中提供PDF文档需要生成一个文件结果方法。 With IronPDF, 您可以使用模型-视图-控制器 (模型-视图-控制器 (MVC))返回 PDF 文件。

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlFileAsPdf("Project/MyHtmlDocument.html");
// or to convert an HTML string
//var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");
// edit this line to display ion browser and change the file name
Response.BinaryWrite(pdf.BinaryData);
Response.Flush();
Response.End();
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlFileAsPdf("Project/MyHtmlDocument.html");
// or to convert an HTML string
//var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");
// edit this line to display ion browser and change the file name
Response.BinaryWrite(pdf.BinaryData);
Response.Flush();
Response.End();
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("Project/MyHtmlDocument.html")
' or to convert an HTML string
'var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Response.Clear()
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition","attachment;filename=""FileName.pdf""")
' edit this line to display ion browser and change the file name
Response.BinaryWrite(pdf.BinaryData)
Response.Flush()
Response.End()
VB   C#

5.将 Razor 视图渲染为 PDF

以下方法可轻松将 Razor 视图渲染为字符串。 IronPDF 的HTML 转换为 PDF该功能可用于将 Razor 视图渲染为字符串。 不要忘记设置 IronPdf.ChromePdfRenderer.RenderHtmlAsPdf 方法的可选 BaseURI 参数,以加载相对资产、CSS、JavaScript 和图片。 下面是一个例子:

public string RenderRazorViewToString(string viewName, object model)
{ 
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
        viewName);
        var viewContext = new ViewContext(ControllerContext, viewResult.View,
        ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
public string RenderRazorViewToString(string viewName, object model)
{ 
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
        viewName);
        var viewContext = new ViewContext(ControllerContext, viewResult.View,
        ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
Public Function RenderRazorViewToString(ByVal viewName As String, ByVal model As Object) As String
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	ViewData.Model = model
	Using sw = New StringWriter()
		Dim viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName)
		Dim viewContext As New ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw)
		viewResult.View.Render(viewContext, sw)
		viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View)
		Return sw.GetStringBuilder().ToString()
	End Using
End Function
VB   C#

请阅读.NET MVC PDF 指南文档,了解如何将 MVC 视图渲染为二进制 PDF 文件。

6.将 XML 转换为 PDF

C# XML 直接转换为 PDF 可能是一项复杂的挑战,最好从 XSLT 开始。 XML 可通过 HTML 渲染为 PDF。(5)使用 XLST 转换。

这些文档定义了如何将给定模式中的 XML 转换为准确的 HTML 表示法,是一项成熟的标准。

翻译后的 HTML 字符串或文件可以使用.NET PDF 生成器:

下面是一个例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers and footers may be set there
// Render the XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers and footers may be set there
// Render the XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
	transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
	transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
' options, headers and footers may be set there
' Render the XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
VB   C#

7.生成 PDF 报告

IronPDF 可用作C# PDF 阅读器并帮助在 ASP.NET C# 中将 SSRS 报告可视化并导出为 PDF。 IronPdf 可用于将数据快照渲染为 PDF 文件格式的 "报告"。 它还可以作为PDF C# 解析器. 基本方法是首先将报告生成 HTML 文档,然后使用 IronPdf 将 HTML 呈现为 PDF。

要为 XML 报告设计样式,可以先解析 XML,然后用数据生成 HTML。 这些报告可以生成为HTML,然后可以使用IronPDF进行自定义并转换为PDF格式。 在 ASP.NET 中提供 HTML 内容的最简单方法是在 ASP.NET WebForms 的 Form_Load 事件上使用 IronPDF.AspxToPdf 类。

下面是一个例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// add a header to very page easily
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
// add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Arial;
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// add a header to very page easily
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
// add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Arial;
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim Renderer As New IronPdf.ChromePdfRenderer()
' add a header to very page easily
Renderer.RenderingOptions.FirstPageNumber = 1
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
' add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = True
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Arial
Renderer.RenderingOptions.TextFooter.FontSize = 10
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf")
VB   C#

C# 创建 PDF(代码示例教程),图 12:CSharp 创建 PDF

创建 PDF

8.处理 PDF 图像和 CSS

要使用 IronPdf 将 HTML 字符串转换为 PDF,请在处理资产时提供 BaseUri。 CSS、JavaScript 文件和图片等所有资产都将相对于该基础 URL 加载。

BaseURL "可以是以 "http "开头的网络 URL,用于加载远程资产;也可以是本地文件路径,用于访问磁盘上的资产。

另一个窍门是使用 IronPdf.Imaging.ImageUtilities.ImageToDataUri 方法将任何 System.Drawing.Image 或 Bitmap 对象转换为 HTML 字符串,无需保存到磁盘即可嵌入 HTML。 下面是一个例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

using var pdf = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");
var renderer = new IronPdf.ChromePdfRenderer();
using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

using var pdf = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");
var renderer = new IronPdf.ChromePdfRenderer();
using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim pdf = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>","C:\site\assets\")
pdf.SaveAs("html-with-assets.pdf")
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim advancedPDF = renderer.RenderHtmlFileAsPdf("C:\Assets\TestInvoice1.html")
advancedPDF.SaveAs("Invoice.pdf")
VB   C#

9.将 ASPX 文件转换为 PDF

首先,让我们访问 "免费用于开发 "的 C# 库,将 ASPX 文件转换为 PDF。 你可以下载 ASPX 转换工具或通过IronPDF NuGet. 像往常一样安装到您的 Visual Studio 项目中。 此外,还要求从 NuGet 官方页面下载 IronPdf.Extensions.ASPX安装。 由于 ASPX 已被 MVC 模型取代,因此在 .NET Core 中无法使用。 现在,您已经拥有了 IronPDF 及其扩展,您会发现它具有 HTML 转换以及 ASPX 到 PDF 生成的功能,就像下面的代码一样。

using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
Imports System
Imports System.Web.UI
Imports IronPdf

Namespace aspxtopdf
	Partial Public Class SiteMaster
		Inherits MasterPage

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
VB   C#

C# 创建 PDF(代码示例教程),图 13:CSharp 创建 PDF

创建 PDF

10.查看 HTML 转 PDF 示例文件

下面的代码演示了如何使用 IronPDF 以编程方式将 HTML 转换为 PDF 文档。

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
// turn page into pdf
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
// turn page into pdf
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim uri As New Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/")
' turn page into pdf
Dim pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri)
' save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
VB   C#

PDF 文件创建在 Debug 文件夹内。 下面是输出结果:

C# 创建 PDF(代码示例教程),图 14:CSharp 创建 PDF

创建 PDF

"(《世界人权宣言》)入门指南解释了如何通过 NuGet 安装 IronPDF (对于那些不熟悉 NuGet 软件包管理器的人来说).

11.在 C# .NET 中生成 PDF 文件

通过使用 IronPDF 的大量 C# 库,任何 ASP.NET 页面都可以轻松地从 HTML 转换为 PDF。 这样,只需一行代码就可以完全控制文档的阅读、编辑和操作。

下面是一个例子:

using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
Imports System
Imports System.Web.UI
Imports IronPdf

Namespace aspxtopdf
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

		End Sub

		Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
VB   C#

C# 创建 PDF(代码示例教程),图 15:CSharp 创建 PDF

创建 PDF

这需要从 NuGet 官方页面下载 IronPdf.Extensions.ASPX安装。 由于 ASPX 已被 MVC 模型取代,因此在 .NET Core 中无法使用。

12.生成 PDF 文档

安装 IronPDF C# HTML to PDF 库。 访问软件通过直接下载文件生成 PDF.

下面是一个如何从 HTML 输入字符串生成 PDF 的快速示例:

/**
PDF from HTML String
anchor-generate-pdf-from-html-string
**/
private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Render any HTML fragment or document to HTML
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
/**
PDF from HTML String
anchor-generate-pdf-from-html-string
**/
private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Render any HTML fragment or document to HTML
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
'''
'''PDF from HTML String
'''anchor-generate-pdf-from-html-string
'''*
Private Sub HTMLString()
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	' Render any HTML fragment or document to HTML
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
	Dim outputPath = "ChromePdfRenderer.pdf"
	pdf.SaveAs(outputPath)
End Sub
VB   C#

以下代码利用 IronPDF 直接从 ASPX 文件生成 PDF:

/**
PDF from ASPX
anchor-generate-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
/**
PDF from ASPX
anchor-generate-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
'''
'''PDF from ASPX
'''anchor-generate-pdf-from-aspx
'''*
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
VB   C#

通过 Chromium 渲染引擎,IronPDF 可以很好地支持 JavaScript。但有一点需要注意,您可能需要在页面渲染时添加延迟,以便在生成 PDF 时让 JavaScript 有时间执行。

13..NET PDF 库

使用 IronPDF,我们能够根据应用需求简单地创建和编辑 PDF 功能。 IronPDF 通过其 C# .NET PDF Library 提供了一整套功能。 访问该库的两种主要方式是

  1. 下载并解压pdf.net 库的 dll 文件

  2. 导航通过 NuGet并通过 Visual Studio 安装软件包。

    在下面的代码中,带有 button1_Click 的 C# 窗体演示了用 C# 创建 PDF 是多么简单。

using IronPdf;
using System.Windows.Forms;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

            //Used ChromePdfRenderer Convert Class
            var renderer = new ChromePdfRenderer();
            //Getting Text from TextBox
            string text = textBox1.Text;
            //rendering or converting htmlaspdf.
            renderer.RenderHtmlAsPdf("<h1>"+text+"</h1>").SaveAs("custom.pdf");
            //Confirmation
            MessageBox.Show("Done !");
        }
    }
}
using IronPdf;
using System.Windows.Forms;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

            //Used ChromePdfRenderer Convert Class
            var renderer = new ChromePdfRenderer();
            //Getting Text from TextBox
            string text = textBox1.Text;
            //rendering or converting htmlaspdf.
            renderer.RenderHtmlAsPdf("<h1>"+text+"</h1>").SaveAs("custom.pdf");
            //Confirmation
            MessageBox.Show("Done !");
        }
    }
}
Imports IronPdf
Imports System.Windows.Forms

Namespace ReadPdf
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

			'Used ChromePdfRenderer Convert Class
			Dim renderer = New ChromePdfRenderer()
			'Getting Text from TextBox
'INSTANT VB NOTE: The variable text was renamed since Visual Basic does not handle local variables named the same as class members well:
			Dim text_Conflict As String = textBox1.Text
			'rendering or converting htmlaspdf.
			renderer.RenderHtmlAsPdf("<h1>" & text_Conflict &"</h1>").SaveAs("custom.pdf")
			'Confirmation
			MessageBox.Show("Done !")
		End Sub
	End Class
End Namespace
VB   C#

C# 创建 PDF(代码示例教程),图 16:CSharp 创建 PDF

创建 PDF

14.Chrome PDF 渲染引擎

Iron Software 工程团队自豪地发布了 IronPDF 的全新升级版,该升级版具有"Chrome Identical "PDF渲染

首先,您必须从名为 IronPdf 的 NuGet 包管理器中将 IronPDF 安装到您的项目中。 在全局层面改用新的呈现器非常简单。 这种方法会更新您现有的 ChromePdfRendererAspxToPdf 代码的所有用法。

Chrome PDF 渲染功能的部分特点如下:

  1. 高质量渲染

    • 最新的“Blink!"HTML 渲染。 可选择Chrome 相同渲染或增强渲染。
  2. 渲染速度提高 20%

    • 提供轻松的多线程和异步处理,可根据您的需求使用多个CPU核心。 对于 SAAS 和高负载应用程序,这可能会比直接使用浏览器和网络驱动程序快**5-20 倍。
  3. 全面支持

    • 完全支持JavaScript响应式布局CSS3

    • Azure**作为一等公民。 它就是有效。

    • 继续维护和改进对 .NET 6、5、Core 和 Framework 4.0+ 的全面支持。
  4. 经过严格测试

    • 该版本通过了1156 项绿色单元和集成测试(没有红色的)此外,还必须确保与主版本类似的稳定性,并每天不断积极改进。
  5. 符合第 508 条无障碍标准

    使用以下工具制作可访问的 PDFPDF(UA) 标记 PDF 标准.

    探索多线程和异步支持功能用于 Chrome 浏览器渲染引擎。

    下面是一个例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim renderer As IChromePdfRenderer = New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Dim doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>")
doc.SaveAs("google_chrome.pdf")
VB   C#

C# 创建 PDF(代码示例教程),图 17:CSharp 创建 PDF

创建 PDF

15.摘要

感谢阅读! 本文演示了如何使用 IronPDF 在 C# 中创建 PDF 文档。 IronPDF 非常适合需要在不使用 HTML 标记的情况下将 HTML 内容转换为 PDF 的用户,因为它易于使用,并具有 JavaScript、CSS 和图像等附加功能。

因此,请尝试这些方法,并在本文的评论部分留下您的反馈意见。!如果您还不是 IronPDF 的客户,可以试用30 天免费试用以查看其可用功能。

如果您购买完整的 Iron Suite,您将以 2 个产品的价格获得全部 7 个产品。欲了解更多详情,请访问IronPDF 许可选项请访问Iron Suite 定价页面购买全套产品。


图书馆快速访问

Documentation related to 图书馆快速访问

阅读应用程序接口参考

IronPdf 文档可在交互式 API Reference 中获取。

阅读应用程序接口参考
< 前一页
.NET Core PDF 库
下一步 >
x509certificate2 程序化添加数字签名到 PDF

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

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