跳至页脚内容
使用IRONPDF

在ASP.NET Core中使用C#将HTML转换为PDF -- IronPDF指南

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Aspose PDF on pricing, HTML support, and licensing.

View Full Comparison

Aspose.PDF和IronPDF都使您能够在C#中以编程方式创建PDF文档,其中IronPDF提供更简单的HTML到PDF转换,使用Chrome渲染,而Aspose.PDF通过其文档对象模型提供细粒度控制。

IronPDF C# PDF库主页横幅,展示主要功能,包括HTML到PDF转换、PDF编辑功能、灵活的部署选项和免费试用

需要哪些先决条件?

在开始使用 C# 创建 PDF 文件之前,请确保您已具备以下条件:

  • .NET 10或兼容的 .NET 6+ 运行时
  • Visual Studio 2022 或兼容的集成开发环境
  • 具备 C# 编程基础知识
  • NuGet 包管理器已配置

这两个库都支持 Windows、Linux 和 macOS 环境,但每个平台都有特定的安装注意事项。 IronPDF 还支持Docker 容器和所有主流云平台。

跨平台支持图示,展示与C#、F#和VB.NET的兼容性,支持多个.NET版本、操作系统和部署环境,包括Windows、Linux、Mac、Docker、Azure和AWS

如何安装Aspose.PDF和IronPDF?

如何通过包管理器控制台安装Aspose.PDF?

在 Visual Studio 中打开软件包管理器控制台并运行:

Install-Package Aspose.PDF
Install-Package Aspose.PDF
SHELL

安装程序会下载 Aspose.PDF 及其依赖项。 该库大约需要 150 MB 的磁盘空间,并包含完整的文档。 对于具有自定义软件包源的高级安装场景,您可能需要手动配置其他依赖项。

包管理器控制台显示Aspose.PDF版本25.10.0及其依赖项在Visual Studio中的成功安装

如何通过 NuGet 安装 IronPDF?

可以使用程序包管理器控制台或 .NET CLI:

Install-Package IronPdf
dotnet add package IronPdf

IronPDF 安装程序会自动包含 Chrome 渲染引擎和所有必要的依赖项。 对于 Docker 部署,可能需要额外的 Linux 特定配置来确保正确的渲染功能。

包管理器控制台显示IronPDF NuGet包的安装进度,多个依赖项正在下载中

为什么 IronPDF 要内置 Chrome 引擎?

IronPDF 内置 Chrome 引擎,可在 Windows、Linux、macOS 和 Docker 上实现卓越的 HTML 渲染效果。 这确保了像素级的渲染效果与浏览器输出完全匹配,包括对现代 CSS、JavaScript 和网络字体的支持。

IronPDF功能对比图,展示三个关键好处:完美像素级渲染、五分钟设置和跨平台兼容性,并提供支持细节

如何创建你的第一个PDF文档?

使用这两个库创建 PDF 文件可以发现它们本质上不同的设计理念。 Aspose 通过显式对象模型构建文档,而 IronPDF 使用 Chrome 直接将 HTML 转换为 PDF。 下面的示例并排展示了这些方法,以便您可以评估哪种方法适合您的项目。

Aspose.PDF如何创建文档?

using Aspose.Pdf;
using Aspose.Pdf.Text;

// Create new instance of Document class
var document = new Document();
// Add pages to the document object
var page = document.Pages.Add();
// Create new TextFragment with Hello World text
var textFragment = new TextFragment("Hello World!");
textFragment.TextState.FontSize = 24;
// Add text to paragraphs collection
page.Paragraphs.Add(textFragment);
// Save the generated PDF document
document.Save("output.pdf");
using Aspose.Pdf;
using Aspose.Pdf.Text;

// Create new instance of Document class
var document = new Document();
// Add pages to the document object
var page = document.Pages.Add();
// Create new TextFragment with Hello World text
var textFragment = new TextFragment("Hello World!");
textFragment.TextState.FontSize = 24;
// Add text to paragraphs collection
page.Paragraphs.Add(textFragment);
// Save the generated PDF document
document.Save("output.pdf");
Imports Aspose.Pdf
Imports Aspose.Pdf.Text

' Create new instance of Document class
Dim document As New Document()
' Add pages to the document object
Dim page As Page = document.Pages.Add()
' Create new TextFragment with Hello World text
Dim textFragment As New TextFragment("Hello World!")
textFragment.TextState.FontSize = 24
' Add text to paragraphs collection
page.Paragraphs.Add(textFragment)
' Save the generated PDF document
document.Save("output.pdf")
$vbLabelText   $csharpLabel

此代码通过构建文档对象模型来创建 PDF 文档。 您创建一个新文档,将页面添加到集合中,然后向这些页面添加内容。 Document类提供基础,而段落则容纳您的内容。 该方法需要了解 Aspose 的对象层次结构并显式地管理字体。 Aspose 的官方文档涵盖了其在 aspose.com 上的完整基于 DOM 的 API

Aspose.PDF输出是什么样子?

PDF查看器显示使用Aspose.PDF创建的简单 'Hello World!' 文档,顶部显示评估水印

IronPDF是如何创建文档的?

using IronPdf;

// Create new instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF file
var html = "<h1>Hello World!</h1>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Save PDF files using SaveAs method
pdf.SaveAs("output.pdf");
using IronPdf;

// Create new instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF file
var html = "<h1>Hello World!</h1>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Save PDF files using SaveAs method
pdf.SaveAs("output.pdf");
Imports IronPdf

' Create new instance of ChromePdfRenderer
Dim renderer As New ChromePdfRenderer()
' Convert HTML string to PDF file
Dim html As String = "<h1>Hello World!</h1>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Save PDF files using SaveAs method
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

IronPDF采用了一种不同的方法——它使用Chrome浏览器直接将HTML渲染成PDF格式。 这样,您就可以编写标准的 HTML 标记,并在最终文档中准确地呈现它。 您还可以从本地 HTML 文件或指向实时网页的 URL 进行渲染。

IronPDF 的输出效果如何?

PDF查看器显示简单 'Hello World!' 文档,Iron Software水印以对角线图案覆盖页面

如何创建实际使用的发票 PDF 文件?

发票生成是商业应用中最常见的 PDF 用例之一。 以下示例演示了带有明细表的简单发票。 对比这两种方法,可以清楚地看出对象模型控制和 HTML 驱动的简洁性之间的权衡。

如何使用Aspose.PDF构建发票?

using Aspose.Pdf;
using Aspose.Pdf.Text;

// Create new Document instance
var document = new Document();
var page = document.Pages.Add();
// Add title text
var title = new TextFragment("INVOICE");
title.TextState.FontSize = 28;
title.HorizontalAlignment = HorizontalAlignment.Center;
page.Paragraphs.Add(title);
// Create table object for invoice items
var table = new Table();
table.ColumnWidths = "200 100 100";
// Add header row to table
var headerRow = table.Rows.Add();
headerRow.Cells.Add("Description");
headerRow.Cells.Add("Quantity");
headerRow.Cells.Add("Price");
// Add data rows
var dataRow = table.Rows.Add();
dataRow.Cells.Add("Product A");
dataRow.Cells.Add("2");
dataRow.Cells.Add("$50.00");
// Add table to page paragraphs
page.Paragraphs.Add(table);
document.Save("invoice.pdf");
using Aspose.Pdf;
using Aspose.Pdf.Text;

// Create new Document instance
var document = new Document();
var page = document.Pages.Add();
// Add title text
var title = new TextFragment("INVOICE");
title.TextState.FontSize = 28;
title.HorizontalAlignment = HorizontalAlignment.Center;
page.Paragraphs.Add(title);
// Create table object for invoice items
var table = new Table();
table.ColumnWidths = "200 100 100";
// Add header row to table
var headerRow = table.Rows.Add();
headerRow.Cells.Add("Description");
headerRow.Cells.Add("Quantity");
headerRow.Cells.Add("Price");
// Add data rows
var dataRow = table.Rows.Add();
dataRow.Cells.Add("Product A");
dataRow.Cells.Add("2");
dataRow.Cells.Add("$50.00");
// Add table to page paragraphs
page.Paragraphs.Add(table);
document.Save("invoice.pdf");
Imports Aspose.Pdf
Imports Aspose.Pdf.Text

' Create new Document instance
Dim document As New Document()
Dim page As Page = document.Pages.Add()
' Add title text
Dim title As New TextFragment("INVOICE")
title.TextState.FontSize = 28
title.HorizontalAlignment = HorizontalAlignment.Center
page.Paragraphs.Add(title)
' Create table object for invoice items
Dim table As New Table()
table.ColumnWidths = "200 100 100"
' Add header row to table
Dim headerRow As Row = table.Rows.Add()
headerRow.Cells.Add("Description")
headerRow.Cells.Add("Quantity")
headerRow.Cells.Add("Price")
' Add data rows
Dim dataRow As Row = table.Rows.Add()
dataRow.Cells.Add("Product A")
dataRow.Cells.Add("2")
dataRow.Cells.Add("$50.00")
' Add table to page paragraphs
page.Paragraphs.Add(table)
document.Save("invoice.pdf")
$vbLabelText   $csharpLabel

Aspose.PDF .NET API需要以编程方式构建每个元素。 您创建文档对象,添加页面,然后将内容添加到段落集合中。 这种方法在需要精确控制时具有明显的优势,但需要编写更多代码才能实现复杂的布局。 要添加页眉和页脚或设置自定义边距,必须先初始化其他配置对象,然后再保存。

如何使用 IronPDF 创建发票?

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
// HTML string with invoice content
var html = @"
<html>
<head>
    <style>
        table { width: 100%; }
        th, td { padding: 8px; }
    </style>
</head>
<body>
    <h1>INVOICE</h1>
    <table>
        <tr><th>Description</th><th>Quantity</th><th>Price</th></tr>
        <tr><td>Product A</td><td>2</td><td>$50.00</td></tr>
    </table>
</body>
</html>";
// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
// HTML string with invoice content
var html = @"
<html>
<head>
    <style>
        table { width: 100%; }
        th, td { padding: 8px; }
    </style>
</head>
<body>
    <h1>INVOICE</h1>
    <table>
        <tr><th>Description</th><th>Quantity</th><th>Price</th></tr>
        <tr><td>Product A</td><td>2</td><td>$50.00</td></tr>
    </table>
</body>
</html>";
// Generate PDF from HTML
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
' HTML string with invoice content
Dim html As String = "
<html>
<head>
    <style>
        table { width: 100%; }
        th, td { padding: 8px; }
    </style>
</head>
<body>
    <h1>INVOICE</h1>
    <table>
        <tr><th>Description</th><th>Quantity</th><th>Price</th></tr>
        <tr><td>Product A</td><td>2</td><td>$50.00</td></tr>
    </table>
</body>
</html>"
' Generate PDF from HTML
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

using IronPDF,您只需编写标准的 HTML 代码,渲染引擎会自动处理其余部分。您的应用程序可以立即引用外部样式表、添加图像和包含链接。 渲染选项可对输出进行精细控制,包括自定义纸张尺寸和页面方向。

发票输出格式是什么样的?

通过编程生成的基本PDF发票示例,产品信息以表格格式显示,并有可见的水印覆盖

有哪些高级功能可用?

这两个库的功能都远远超出了基本的PDF创建功能。 了解这些高级功能有助于您确定哪个库最符合您的需求。

如何将网页转换为PDF?

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("website.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("website.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("website.pdf")
$vbLabelText   $csharpLabel

IronPDF 擅长 URL 转 PDF,能够处理带有 JavaScript、cookie 和身份验证的复杂网站。 Chrome 引擎可确保现代 Web 应用程序的精确渲染,包括使用 Angular 或 React 构建的单页应用程序。

如何为PDF文件添加安全保护?

using IronPdf;

var renderer = new ChromePdfRenderer();
var html = "<h1>Confidential Report</h1>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Apply password protection and print rights
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var html = "<h1>Confidential Report</h1>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Apply password protection and print rights
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.SaveAs("secured.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim html As String = "<h1>Confidential Report</h1>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Apply password protection and print rights
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

IronPDF 提供直观的方法,为您的 PDF 文档添加安全性和数字签名。 您还可以合并或拆分文件,并提取文本和图像以进行后续处理。

加密的 PDF 文件是什么样子的?

显示已加密PDF文件的密码保护对话框,含有密码输入框和提交按钮

IronPDF还支持哪些其他高级功能?

IronPDF 支持多种其他应用场景,包括:

*符合 PDF/A 标准,可长期存档

IronPDF和Aspose.PDF如何进行并行对比?

下表总结了IronPDF和Aspose.PDF之间的主要区别,以帮助您快速做出决定:

IronPDF与Aspose.PDF——关键特征对比
特征 IronPDF Aspose.PDF
HTML到PDF渲染 是的——基于Chrome浏览器,像素级完美。 数量有限
URL 转 PDF 是的——支持 JavaScript 和 Cookie
文档对象模型 API 部分的 是的——完全的逐元素控制
跨平台支持 Windows、Linux、macOS、Docker Windows、Linux、macOS
数字签名
PDF/A 合规
许可证起价 $liteLicense(包含技术支持) 1199 美元(另加支持费用)
免费试用 是的——所有功能均已加水印 是的——评估版

对比结果显示,如果您的工作流程以 HTML 内容、网页或现代前端技术为中心,那么 IronPDF 是更强大的选择。 Aspose.PDF在纯编程文档构建方面保持竞争力,其中细粒度的每个元素控制是优先考虑。

你应该选择哪个库?

何时应该使用 IronPDF?

当您需要以下服务时,IronPDF 是您的理想之选:

使用熟悉的网络技术将 HTML 转换为 PDF

  • 渲染包含 JavaScript 驱动内容的完整网页
  • 部署到 Docker 或云环境,例如 Azure 或 AWS
  • 通过更简单的 API 实现更快的开发周期
  • 生成与浏览器渲染完全一致的输出。

功能对比图显示四类PDF功能:创建PDF、转换PDF、编辑PDF,以及签署和保护PDF,每个类别下都有详细的功能列表

何时应该使用Aspose.PDF?

Aspose.PDF for .NET适用于当您:

  • 通过程序化文档对象模型从头开始创建 PDF 需要对布局进行精细的逐元素控制。
  • 构建以文档为中心的应用程序,而不是从 HTML 源代码开始。
  • 要求符合特定的 PDF 格式规范,与任何渲染引擎无关

关于Aspose.PDF功能的详细分解可在Microsoft NuGet注册表条目中找到

性能考虑因素有哪些?

IronPDF的Chrome引擎在HTML渲染方面提供优异表现,而Aspose.PDF在没有任何HTML源的纯编程生成方面表现可能更好。 对于异步操作,这两个库都提供了基于任务的 API。在规划大规模批量部署时,请考虑内存使用情况和渲染超时时间;在扩展规模时,请参考 IronPDF 的性能故障排除指南

这些许可证有何异同?

IronPDF提供简单的许可,起价为$999,并包含支持和更新。 免费试用版包含所有功能,但带有用于开发和测试的水印。 许可证部署简单,提供多种配置选项。

IronPDF许可页面显示四个定价等级(Lite、Plus、Professional和Unlimited),每个计划均有折扣价格及功能

Aspose.PDF从$1,199开始,支持和更新单独收费。 这两个库都提供试用版,供用户在购买前进行测试。 IronPDF 提供更灵活的选择,包括基于项目和 SaaS 的许可模式,使不断壮大的团队更容易进行预算。

接下来该怎么做?

这两个库都能有效地用 C# 创建 PDF 文档。 Aspose.PDF通过其文档对象模型提供细粒度控制,而IronPDF在使用熟悉的网络技术方面出色的HTML到PDF转换。

对于大多数现代 .NET 10 应用程序而言,IronPDF 凭借其直观的 API、卓越的 HTML 渲染和内置支持,提供了更高的价值。 无论您需要加载网页、添加图像还是构建复杂的布局,IronPDF 基于 Chrome 的方法都能大大简化这一过程。 该库的功能集涵盖了从基本的PDF 创建到高级签名和安全的所有方面。

IronPDF 支持多种部署方案,包括 Azure Functions、AWS Lambda 和 Blazor 应用程序。 如有疑问,可向工程支持团队咨询并查阅 API参考文档。

首先使用 IronPDF 的免费试用版,评估它是否能满足您的 PDF 生成需求。 您可以在 .NET 解决方案中使用所有功能来创建、转换和操作 PDF 文件,而无需任何前期投入。

要将IronPDF与其他流行替代方案进行对比,请参阅IronPDF与iTextIronPDF与PDFSharp的指南。

常见问题解答

using Aspose C# 和 IronPDF 创建 PDF 的主要目的是什么?

using Aspose C# 和 IronPDF 的主要目的是为现代 .NET 应用程序编程创建 PDF 文件,如生成发票、报告或将网页内容转换为 PDF 格式。

IronPDF 如何增强 .NET 应用程序中的 PDF 创建功能?

IronPDF for .NET 通过提供全面的工具和代码示例,简化了过程,使开发人员更容易生成和处理 PDF,从而增强了 .NET 应用程序中的 PDF 创建功能。

能否使用 IronPDF 将网页内容转换为 PDF 格式?

是的,IronPDF 可让您将网页内容无缝转换为 PDF 格式,非常适合从 HTML 源创建准确且外观专业的文档。

using IronPDF 生成 PDF 的典型用例有哪些?

using IronPDF 生成 PDF 的典型用例包括创建发票、生成报告以及将网页或 HTML 内容转换为 PDF 文档。

IronPDF 是否为开发人员提供完整的代码示例?

是的,IronPDF 提供了完整的代码示例,以帮助开发人员高效地使用该库创建和管理 PDF 文件。

是否可以将 IronPDF 与其他 .NET 库集成以增强功能?

是的,IronPDF 可以与 Aspose C# 等其他 .NET 库集成,以增强 PDF 创建和操作的功能和能力。

与其他 PDF 库相比,使用 IronPDF 有哪些优点?

using IronPDF 的优势包括其易用性、全面的文档以及提供完整的代码示例,这些优势使其成为开发人员的多功能选择。

IronPDF 能否处理复杂的 PDF 生成任务,如添加水印或页眉?

是的,IronPDF 可以处理复杂的 PDF 生成任务,包括为文档添加水印、页眉和页脚,为文档定制提供灵活性。

IronPDF 是否适合 .NET 开发初学者?

IronPDF 既适合初学者,也适合有经验的开发人员,因为它提供了用户友好的功能和详细的文档,可以指导用户完成 PDF 创建过程。

IronPDF 如何确保生成 PDF 文档的质量?

IronPDF 通过提供用于精确布局控制的强大工具以及对各种 PDF 功能和标准的支持,确保生成高质量的 PDF 文档。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我