使用IRONPDF

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

更新 2024年九月4日
分享:

本文将教你如何使用 IronPDF,用 C# .NET 编程语言从网页制作 PDF 文档。

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

由于 HTML 是一种标记语言,要将 HTML 内容转换为不带 HTML 标记的 PDF 可能比较困难。IronPDF 提供以下功能 在 C&num 中创建 PDF; 因为它不仅易于使用,还能使用 JavaScript、CSS 和图像等附加功能。

本文将详细介绍 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框架选择

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 库后,第一个目标是创建一个 PDFDocument 对象。复制下面的代码并粘贴到 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 文档

在 C# 中使用 URL 创建 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 呈现

从 URL 输出 PDF 文件

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

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

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

4.将 ASP.NET MVC 渲染成 PDF

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

要在 ASP.NET MVC 中提供 PDF 文档,需要生成一个 文件结果 方法。使用 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 可用作 PDF 阅读器 C# 在 ASP.NET C# 中,IronPDF 可帮助将 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 加载。

基础 URL "可以是以 "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。您可以 直接下载 或通过 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 文件在调试文件夹内创建。以下是输出结果:

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 库。通过以下方式访问软件 直接下载文件.

下面是一个如何从 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 库提供了一整套功能。访问该库的两种主要方式是

1.下载并解压 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# 表格:

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

创建 PDF

14.Chrome PDF 渲染引擎

Iron Software 工程团队非常自豪地宣布,IronPDF 将于 2021 年推出改变游戏规则的升级版,现在具有"Chrome Identical" PDF 渲染功能。

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

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

  1. 高质量渲染

    1.最新的 "Blink!"HTML 渲染。从 相同的铬渲染 或增强渲染中选择

  2. 渲染速度提高 20%

    1.提供毫不费力的多线程和异步功能,可随意使用多个 CPU 内核。对于 SAAS 和高负载应用,速度可提高5-20 倍,优于直接使用浏览器和网络驱动程序。

  3. 全面支持

    1.完全支持JavaScript响应式布局CSS3

    1. *将Azure作为一等公民。只需运行即可。

    3.持续维护和改进对 .NET 6、5、Core 和 Framework 4.0+ 的全面支持。

  4. 经过严格测试

    1.该版本通过了1156项绿色单元和集成测试 (没有红色的)确保与主版本类似的稳定性,并每天不断积极改进。

  5. 符合第 508 条无障碍标准

使用以下功能制作无障碍 PDF PDF(UA) 标记 PDF 标准.

多线程和异步支持 与之前的版本相比,Chrome 浏览器渲染引擎的性能已今非昔比。

1.对于企业级多线程,在现有线程中使用 "ChromePdfRenderer "即可。对于网络应用程序,这也不需要任何设置。

2.对于 HTML 到 PDF 的批处理,建议使用内置的 .NET Parallel.ForEach 模式。

3.所有渲染方法都提供了 Async 变体,例如 ChromePdfRenderer.RenderHtmlAsPdfAsync

下面就是一个例子:

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 天免费试用 查看其可用功能。

如果您购买全套铁艺套件,您将以 2 件产品的价格获得全部 7 件产品。 授权访问 定价页 购买全套产品。


图书馆快速访问

阅读应用程序接口参考

交互式 API 参考中提供了 IronPDF 文档。

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

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

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