跳至页脚内容
使用IRONPDF

如何使用 Aspose.PDF 创建 PDF

Aspose PDF 和 IronPDF 都允许您以编程方式创建 PDF 文档,其中 IronPDF 提供使用Chrome 渲染的更简单的HTML 到 PDF 转换,而 Aspose PDF 则通过其文档对象模型提供精细的控制。

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

需要哪些先决条件?

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

  • .NET Framework 4.6.2+ 或 .NET Core 3.1+
  • Visual Studio 2019 或兼容的 IDE
  • 具备 C# 编程基础知识
  • NuGet 包管理器已配置
  • 软件包安装的管理权限

对于云部署,其他要求包括正确的容器配置和运行时权限。 这两个库都支持WindowsLinuxmacOS环境,但每个平台都有特定的安装注意事项。

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

如何安装 Aspose PDF 和 IronPDF?

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

在 Visual Studio 中打开包管理器控制台并运行以下命令:

PM> Install-Package Aspose.PDF
PM> Install-Package Aspose.PDF
This command is a package manager command for installing a NuGet package and is not directly translatable to VB.NET code. If you are looking to use the Aspose.PDF library in a VB.NET project, you would typically add the package via the NuGet Package Manager in Visual Studio or use a similar command in the Package Manager Console. If you have specific C# code using Aspose.PDF that you need converted to VB.NET, please provide that code.
$vbLabelText   $csharpLabel

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

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

如何安装 IronPDF?

使用相同的方法安装 IronPDF:

PM> Install-Package IronPdf
PM> Install-Package IronPdf
SHELL

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

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

为什么 IronPDF 要内置 Chrome 引擎?

IronPDF 内置Chrome 引擎,可实现卓越的 HTML 渲染效果,并支持 Windows、Linux、macOS、 Docker 容器和云平台。 这确保了像素级的完美渲染效果,与 Chrome 浏览器中看到的效果完全一致,包括对现代CSS3JavaScriptWeb 字体的全面支持。

IronPDF 功能对比展示了三大关键优势:像素级完美渲染、5 分钟快速设置以及跨平台兼容性,并附有各功能的详细信息。

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

让我们通过两个库创建 PDF 文件,以了解其基本方法。 这些代码示例演示了 PDF 生成的基本逻辑,展示了每个库 API 设计背后的不同理念。

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类提供基础,而段落则容纳您的内容。 这个"Hello World"示例演示了基本流程。 该方法需要了解 Aspose 的对象层次结构并显式地管理字体

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格式。 此 API 可让您轻松转换 Web 内容并实现复杂的布局。 该库会帮你处理复杂性,使你更容易获得专业成果。 您还可以从文件URL甚至Razor 视图进行渲染。

IronPDF 的输出结果是什么样的?

PDF 查看器正在显示一个简单的"Hello World!"文档,页面上带有 Iron Software 的水印,呈对角线排列。

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

这是使用两个库创建 PDF 文件以实现实用发票解决方案的完整代码。 在商业应用中,生成发票是 PDF 库最常见的用途之一。

如何使用 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;
// Add to paragraphs
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);
// Save the PDF document
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;
// Add to paragraphs
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);
// Save the PDF document
document.Save("invoice.pdf");
Imports Aspose.Pdf
Imports Aspose.Pdf.Text

' Create new Document instance
Dim document As New Document()
Dim page = document.Pages.Add()

' Add title text
Dim title As New TextFragment("INVOICE")
title.TextState.FontSize = 28
title.HorizontalAlignment = HorizontalAlignment.Center

' Add to paragraphs
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 = table.Rows.Add()
headerRow.Cells.Add("Description")
headerRow.Cells.Add("Quantity")
headerRow.Cells.Add("Price")

' Add data rows
Dim 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)

' Save the PDF document
document.Save("invoice.pdf")
$vbLabelText   $csharpLabel

Aspose PDF .NET API 要求以编程方式构建每个元素。 您创建文档对象,添加页面,然后将内容添加到段落集合中。 这种方法在需要精确控制时具有明显的优势,但需要编写更多代码才能实现复杂的布局。 对于添加页眉、页脚自定义边距等更高级的功能,需要进行额外的配置。

如何使用 IronPDF 创建发票?

using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure PDF output settings
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();
// Configure PDF output settings
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()
' Configure PDF output settings
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

使用 IronPDF,您只需编写标准 HTML,程序会自动处理渲染。 这种方法使您更容易创建具有专业布局的 PDF 文件。 您的应用程序可以通过引用外部样式表、添加图像和包含链接来立即使用此功能。 渲染选项可对输出进行精细控制,包括自定义纸张尺寸页面方向打印 CSS

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

是一个通过程序自动生成的基本 PDF 发票示例,以表格形式显示产品信息,并带有可见的水印叠加层。

有哪些高级功能可用?

这两个库都提供了除基本PDF创建之外的广泛功能。 了解这些高级功能有助于您确定哪个库最符合您的特定需求。

如何将网页转换为PDF?

using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_91___");
pdf.SaveAs("website.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_91___");
pdf.SaveAs("website.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_91___")
pdf.SaveAs("website.pdf")
$vbLabelText   $csharpLabel

IronPDF 擅长URL 转 PDF ,能够处理带有JavaScriptcookie身份验证的复杂网站。 Chrome 引擎可确保现代 Web 应用程序(包括Angular和 React 网站)的精确渲染。

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

using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// Implement security settings
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Save secured file
pdf.SaveAs("secured.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// Implement security settings
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Save secured file
pdf.SaveAs("secured.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Implement security settings
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Save secured file
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

IronPDF 提供直观的方法,可向 PDF 文档添加安全功能页眉页脚和其他功能。 您还可以删除页面合并文件提取内容。 高级安全功能包括数字签名加密元数据管理

安全的PDF文件是什么样的?

用于保护 PDF 文件的密码保护对话框,显示密码输入字段和提交按钮

其他高级功能

IronPDF 支持多种高级应用场景,包括:

*符合 PDF/A归档要求

你应该选择哪个库?

何时应该使用 IronPDF?

IronPDF 在以下情况下表现出色:

需要将HTML转换为PDF

功能对比表展示了PDF的四大功能类别:创建PDF、转换PDF、编辑PDF以及签名和保护PDF,每个类别下均附有详细的功能列表。

何时应该使用 Aspose PDF?

Aspose PDF for .NET 应用程序在以下情况下能发挥良好作用:

  • 通过编程方式从头开始创建 PDF 文件
  • 需要对文档模型进行精细控制
  • 处理复杂的PDF文件
  • 导入现有PDF文件进行处理
  • 要求符合特定 PDF 格式要求
  • 构建以文档为中心的应用程序

性能考虑

IronPDF 的 Chrome 引擎在 HTML 渲染方面表现出色,而 Aspose PDF 在纯程序化 PDF 生成方面可能表现更好。 对于异步操作,这两个库都提供了完整的支持。 对于大规模部署,请考虑内存使用情况渲染超时问题

许可证有何区别?

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

IronPDF 的许可页面显示了四个价格等级(Lite、Plus、Professional 和 Unlimited),每个等级都有相应的折扣价格和功能

Aspose PDF 起价为 $1,199,另需支付支持费用。 两个库都提供试用版本以供测试。 IronPDF 提供更灵活的许可选项,包括基于项目和 SaaS 的许可模式。

结论

两个库在 C# 中都能够有效地创建 PDF 文档。 Aspose PDF 通过其文档对象模型和TextFragment类提供精细的控制,而 IronPDF 则利用熟悉的 Web 技术在 HTML 到 PDF 的转换方面表现出色。

对于大多数现代 .NET 应用程序,IronPDF 以其直观的 API、优越的 HTML 渲染、包含的支持和使用简单代码创建 PDF 文件的能力,提供了更好的价值。 无论您需要加载网页、添加图像还是实现复杂的布局,IronPDF 基于 Chrome 的功能都能简化这一过程。 该库功能丰富,涵盖了从基本的PDF 创建到高级签名和安全等各个方面。

IronPDF 还具备绘图功能,可以重现复杂的设计。 如有疑问,请联系他们的工程团队或查阅他们的文档以解决问题。 该库支持各种部署场景,包括Azure FunctionsAWS LambdaBlazor 应用程序

首先使用 IronPDF 的免费试用版,评估它是否能满足您的 PDF 生成需求。 访问所有功能以创建、转换和操作您 .NET 解决方案中的 PDF 文件。

常见问题解答

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

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

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

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

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

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

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

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

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

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

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

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

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

使用 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 机器人,将他对技术的热爱与创造力相结合。