
PDFSharp HTML 到 PDF 示例和教程比较
IronPDF 与 PDFSharp
全面的 .NET PDF 库比较——逐项功能对比,并提供基于事实的上下文分析
| 特征 | PDFSharp | IronPDF ✦ |
|---|---|---|
| PDF 创建与转换 | ||
| HTML/CSS 转 PDF | ✕ No 文档中记录的核心功能是通过 PDF 对象模型创建/修改/合并/拆分;没有描述 HTML 渲染引擎。 | ✓ Yes 基于 Chromium 内核的引擎,内置像素级精准的 CSS3、Flexbox 和 Grid 渲染。 |
| JavaScript 执行 | ✕ No 不是浏览器引擎;没有描述JS执行模型。 | ✓ Yes 在渲染过程中完全执行 JS——动态图表、SPA 和交互式内容。 |
| 程序化生成 | ✓ Yes "即时创建 PDF 文档",并使用 PDF 对象模型来编写文档。 | ✓ Yes 可从 HTML 模板、字符串、ASPX 视图或图像生成内容。Chromium 负责布局。 |
| URL 转 PDF | ✕ No 不具备网页浏览或截图功能。 | ✓ YesRenderUrlAsPdf() 捕获任何实时 URL 并进行完整的 CSS/JS 渲染。 |
| DOCX 转换为 PDF | ✕ No 不具备Word文档转换功能。 | ✓ YesDocxToPdfRenderer 转换 Word 文档,保留其结构和格式。 |
| 阅读与提取 | ||
| 文本提取 | ~ Complex 官方常见问题解答中提到,只能进行低级提取;没有高级的"单词/段落/页面"提取 API。 | ✓ Yes 提取文本时能够感知布局。可与 IronOCR 结合使用,识别扫描文档。 |
| 将页面渲染为图像 | ✕ No PDFSharp 文档/社区明确指出它"不能渲染"PDF(页面→位图不支持)。 | ✓ Built-in 原生栅格化为PNG、JPEG、BMP格式,DPI可配置。 |
| 内置OCR | ✕ No PDFSharp 特性文档中未描述任何OCR引擎。 | ✓ Via IronOCR 与 IronOCR 原生集成,可对扫描的 PDF 文件进行 127 种以上语言的 OCR 识别。 |
| 编辑与处理 | ||
| 合并与拆分 | ✓ Yes 官方功能明确包括"修改、合并和拆分现有 PDF 文件"。 | ✓ Yes 通过直观的 API,实现一行式合并、拆分、追加、前置和页面重新排序。 |
| 页眉、页脚和页码 | ~ Complex 仅限底层;结构化页眉/页脚被视为 MigraDoc 用例。 | ✓ Yes 基于 HTML 的页眉/页脚,带有自动页码、日期和自定义内容。 |
| 水印 | ~ Complex 水印示例虽然存在,但使用的是绘图方法(并非真正的水印注释)。 | ✓ YesApplyWatermark() 支持 HTML/CSS——完全控制透明度、旋转角度和位置。 |
| 添加文字和图像 | ~ Complex 可以通过使用 GDI+ 风格的 API 对现有页面进行底层绘图操作来实现。 | ✓ YesTextStamper 以及带有 Google Fonts、定位和页面级控制的ImageStamper 。 |
| 编辑内容 | ✕ No PDFSharp特性集中没有提供修订支持。 | ✓ YesRedactTextOnAllPages() 永久删除一行中的敏感文本。 |
| 安全性与合规性 | ||
| 加密与密码 | ✓ Yes 支持通过安全设置 API 进行加密和密码保护。 | ✓ Yes AES 加密、所有者/用户密码、细粒度权限(打印、复制、注释)。 |
| 数字签名 | ✓ Yes PDFSharp文档描述了添加数字签名;此功能在PDFSharp 6.2.0中引入。 | ✓ YesPdfSignature 支持 X509/PFX 证书。 |
| PDF/A 和 PDF/UA 合规性 | ⚠ Partial 可以创建新的 PDF/A 文档,但不能将现有的 PDF 转换为 PDF/A,不能验证一致性,也不能选择特定的 PDF/A 级别(预览中标记为"hack")。 | ✓ Yes 适用于企业环境的原生 PDF/A 归档和 PDF/UA 无障碍访问合规性。 |
| 平台与部署 | ||
| 跨平台支持 | ✓ Yes NuGet/包文档指出核心构建不依赖于 Windows,可以在 Linux/macOS 上运行;文档列出了现代 .NET 目标。 | ✓ Yes Windows、Linux、macOS、x64、x86、ARM。.NET 6–10、Core、Standard 2.0+、Framework 4.6.2+。 |
| 服务器/Docker/云 | ✓ Yes NuGet 声明核心构建不依赖于 Windows;典型的服务器部署很简单(无需外部二进制文件)。 | ✓ Yes Docker、Azure、AWS、IIS。官方 Docker 镜像和部署指南。 |
| 安装简便 | ⚠ Partial 安装很简单,但生成复杂的布局通常需要底层组合(或 MigraDoc 抽象)。 | ✓ Simple 只需一条 NuGet Install-Package IronPdf安装。 |
| 许可与支持 | ||
| 许可模式 | ✓ MIT PDFSharp 项目的MIT 许可 - 商业和专有使用免费。 | ✓ Commercial 永久授权。30天全功能免费试用,无水印。 |
| 商业支持和服务水平协议 | ✓ Yes 供应商网站为PDFSharp项目提供了"支持计划"和定制解决方案。 | ✓ 24/5 Support 提供专属工程支持,并保证服务水平协议 (SLA)——电子邮件、在线聊天、电话。 |
| 文档 | ✓ Yes 官方文档列举了各项功能并提供了入门指南;还有示例/样本库。 | ✓ Extensive 完整的 API 参考、100 多个操作指南、教程、代码示例、故障排除、视频。 |
数据来自PDFSharp的官方文档、NuGet包文档和社区参考。
PDFSharp是一个坚固的MIT许可证选项用于基本PDF创建,但缺少HTML渲染、OCR、文本提取和
页面光栅化。
IronPDF提供全面的覆盖 - 试用免费30天。
在.NET环境中处理PDF文件时,开发人员需要可靠且功能丰富的库来处理诸如文档创建、编辑、加密和HTML-to-PDF转换等常见任务。 IronPDF和PDFSharp是两个流行的库,但它们服务于不同的需求。
IronPDF是一个功能全面、高性能的PDF库,擅长于HTML-to-PDF转换、PDF安全性和高级PDF操作。 PDFSharp 另一方面,是一个专注于PDF创建和基本编辑的轻量级开源库。 在这两者之间的选择取决于您的项目的复杂性和要求。
在本指南中,我们将对IronPDF和PDFSharp的关键特性、可用性、安全性、定价和支持进行比较,帮助您确定适合您.NET应用程序的最佳工具。
功能概述
IronPDF:综合的PDF解决方案
IronPDF是一个功能丰富的.NET库,在包括HTML-to-PDF转换、PDF编辑和安全文档处理等多个领域表现卓越。 它可以通过NuGet Package Manager Console轻松添加到您的项目中,并无缝集成到您的C#项目中。
其突出能力包括:
- **HTML 转 PDF 转换:**将包含JavaScript 、 CSS和 AJAX 的复杂网页转换为完全渲染的 PDF 文件。
- **PDF 编辑:**通过添加文本、图像、注释,甚至编辑敏感信息来操作 PDF 文档。
- **PDF 安全性:**完全支持数字签名、密码保护和加密,最高可达 256 位安全级别。 ***表单填写与提取:**动态填充、提取和操作PDF 表单。
PDFSharp: 一个轻量级的替代品
PDFSharp是一个免费开源库,主要设计用于基本PDF的创建和操作。 虽然它没有IronPDF那样丰富的功能集,但对于不需要复杂功能的简单项目来说是一个很好的选择。 PDFSharp的一些核心功能包括:
- **PDF 创建:**使用 C# 或VB.NET以编程方式生成 PDF,创建包含图像和图形的文本文档。
- **PDF 修改:**简单的任务,例如合并、拆分和编辑现有 PDF。 ***基本加密:**为 PDF 文档添加基本密码保护。
主要限制: PDFSharp本身不支持HTML到PDF的转换,需要使用第三方工具,例如Polybioz.HtmlRenderer.PdfSharp.Core,这增加了复杂性。
兼容性与可用性
跨平台支持

IronPDF
IronPDF设计为跨平台,完全兼容.NET Core、.NET Framework和Azure,并支持Windows、macOS和Linux。 这使它成为需要跨多个操作系统运行的项目的理想选择,并确保该库与大多数开发环境具有通用兼容性。 该库与现代Web开发环境无缝集成,非常适合Web应用程序、云解决方案和企业系统。
PDFSharp
PDFSharp主要设计用于.NET Framework,对.NET Core的支持有限。 虽然有.NET Core版本,但它仍在开发中,某些功能尚未对非Windows平台完全优化。 Linux和macOS用户可能面临兼容性问题,使得PDFSharp对于跨平台应用来说不是一个理想的选择。
易用性
IronPDF提供了一个对开发人员友好的API,可抽象化处理PDF文件的复杂性。 无论是生成PDF还是编辑现有文件,语法都非常简洁易懂,使开发人员能够在仅仅几行代码中实现复杂的功能。
PDFSharp虽然在文本生成和PDF操作等基本任务上相对易用,但在处理复杂文档生成和编辑等任务时常常需要更多的手动操作。
易用性示例
IronPDF: 转换HTML到PDF
只需一次方法调用,即可轻松将 HTML 代码片段和内容转换为 PDF:
using IronPdf;
var renderer = new ChromePdfRenderer();
var content = "<h1>IronPDF Rocks!</h1>";
var pdf = renderer.RenderHtmlAsPdf(content);
pdf.SaveAs("output.pdf");Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private content = "<h1>IronPDF Rocks!</h1>"
Private pdf = renderer.RenderHtmlAsPdf(content)
pdf.SaveAs("output.pdf")- 精简、简洁的代码\
- 轻松从现有HTML内容进行转换
PDFSharp: 创建包含文本的PDF
PDFSharp需要通过使用图形对象来手动实现文本和内容的绘制:
using PdfSharp.Pdf;
using PdfSharp.Drawing;
var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 20, XFontStyleEx.Bold);
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XPoint(50, 100));
document.Save("output.pdf");Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Private document = New PdfDocument()
Private page = document.AddPage()
Private gfx = XGraphics.FromPdfPage(page)
Private font = New XFont("Arial", 20, XFontStyleEx.Bold)
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XPoint(50, 100))
document.Save("output.pdf")限制:
手动实现 - 您必须手动定位元素。
对生成报告、发票或样式化内容更复杂。
功能对比
HTML 到 PDF 转换
IronPDF。: 最适用于Web应用程序和动态报告
在将HTML报告、网页和动态内容转换为PDF的过程中,IronPDF表现出色,同时保留CSS、JavaScript和嵌入图像。 这使得它非常适合于:
- 从HTML模板生成发票。
- 从Web应用程序自动创建报告。
- 将网页捕获为PDF以供离线使用。
IronPDF代码示例 – 将HTML文件转换为PDF格式:
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("example.pdf");Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("example.pdf")输出

如您所见,使用IronPDF我们能够在仅仅三行简短的代码中将样式化的HTML文件转换为PDF文档,而不会丢失任何原始质量或布局! 如果您想看看IronPDF如何处理更丰富的CSS内容,那我们来看看将这个URL的内容转换为PDF的示例如何?
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(5000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.apple.com");
pdf.SaveAs("Apple.pdf");Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.JavaScript(5000)
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.apple.com")
pdf.SaveAs("Apple.pdf")输出

在这里,我们利用 IronPDF 强大的渲染选项,将网页内容转换为高质量 PDF,维护所有原始 CSS 和 JavaScript 内容。
PDFSharp:最适合处理没有网页内容的静态PDF
PDFSharp不支持将HTML转换为PDF。 如果您需要此功能,必须使用第三方库,如Html Renderer,它提供了使用静态渲染代码将HTML内容转换为PDF文档的能力。 由于这些限制,PDFSharp通常最适合用于:
- 不依赖于动态HTML渲染的静态文档。
- 需要编程定义内容的发票、合同和报告。
PDFSharp与HtmlRenderer示例:
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
var document = new PdfSharpCore.Pdf.PdfDocument();
string htmlContent = File.ReadAllText("index.html");
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4);
document.Save("html-to-pdf-pdfsharp.pdf");Imports PdfSharp.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp
Private document = New PdfSharpCore.Pdf.PdfDocument()
Private htmlContent As String = File.ReadAllText("index.html")
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4)
document.Save("html-to-pdf-pdfsharp.pdf")输出

感谢HtmlRenderer附加组件,我们能够在保持大部分原始样式的同时将大多数HTML内容转换为PDF但当涉及更丰富的CSS内容时,如何表现? 让我们来看看将Web内容转换为PDF文件的过程:
using PdfSharpCore.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;
public class Program
{
public static async Task Main(string[] args)
{
// Define the URL to fetch HTML content
string url = "https://www.example.com"; // Replace with the URL you want to convert
// Fetch HTML content from the URL
string htmlContent = await FetchHtmlFromUrl(url);
// Generate the PDF from the fetched HTML content
var document = new PdfSharpCore.Pdf.PdfDocument();
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4);
// Save the generated PDF to a file
document.Save("url-to-pdf-example.pdf");
System.Console.WriteLine("PDF created successfully!");
}
// Method to fetch HTML content from a URL
private static async Task<string> FetchHtmlFromUrl(string url)
{
using (HttpClient client = new HttpClient())
{
// Send GET request to fetch the HTML content of the URL
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
// Read the content as a string
string htmlContent = await response.Content.ReadAsStringAsync();
return htmlContent;
}
else
{
throw new Exception($"Failed to fetch content from URL. Status Code: {response.StatusCode}");
}
}
}
}Imports PdfSharpCore.Pdf
Imports TheArtOfDev.HtmlRenderer.PdfSharp
Imports System.Net.Http
Imports System.Threading.Tasks
Imports System.IO
Public Class Program
Public Shared Async Function Main(ByVal args() As String) As Task
' Define the URL to fetch HTML content
Dim url As String = "https://www.example.com" ' Replace with the URL you want to convert
' Fetch HTML content from the URL
Dim htmlContent As String = Await FetchHtmlFromUrl(url)
' Generate the PDF from the fetched HTML content
Dim document = New PdfSharpCore.Pdf.PdfDocument()
PdfGenerator.AddPdfPages(document, htmlContent, PdfSharpCore.PageSize.A4)
' Save the generated PDF to a file
document.Save("url-to-pdf-example.pdf")
System.Console.WriteLine("PDF created successfully!")
End Function
' Method to fetch HTML content from a URL
Private Shared Async Function FetchHtmlFromUrl(ByVal url As String) As Task(Of String)
Using client As New HttpClient()
' Send GET request to fetch the HTML content of the URL
Dim response As HttpResponseMessage = Await client.GetAsync(url)
If response.IsSuccessStatusCode Then
' Read the content as a string
Dim htmlContent As String = Await response.Content.ReadAsStringAsync()
Return htmlContent
Else
Throw New Exception($"Failed to fetch content from URL. Status Code: {response.StatusCode}")
End If
End Using
End Function
End Class输出

虽然PDFSharp无法处理像IronPDF那样密集的CSS和JavaScript内容,但对于寻找轻量级PDF库用于不依赖CSS或JavaScript内容的PDF生成任务的人来说,它仍然是一个强有力的竞争者。 虽然需要额外的库来进行HTML转换,PDFSharp在.NET生态系统中能够从头创建PDF文件。
加密和安全性
IronPDF。: 最适用于安全要求严格的合规应用程序
IronPDF是需要安全PDF处理的开发人员的最佳选择,特别是在需要符合严格数据保护法规的应用程序中。 它提供的高级安全功能旨在确保您的PDF文档保持安全和防篡改,非常适合金融、医疗和法律等行业。
IronPDF的适用场景:
- 法律和金融文件:IronPDF允许您使用高级加密方法保护PDF中的敏感数据,确保只有授权用户可以访问它们。
- 需要数字签名的文件:它提供数字签名功能,确保文档的真实性,这对于法律协议和合同至关重要。
- GDPR和HIPAA合规:处理个人或敏感信息时,IronPDF支持符合GDPR和HIPAA等法规的加密标准,为处理安全客户端数据的开发人员提供安心。
IronPDF的加密能力包括用户级别和所有者级别密码,这意味着您可以限制访问PDF或限制特定操作,如打印、复制或编辑。 此外,它允许您在PDF上应用数字签名,确保数据的完整性和不可否认性,非常适合法律文件。 这些功能在文档安全至关重要的工作流程中尤其有用。
IronPDF代码示例 – 使用密码加密PDF:
using IronPdf;
var pdf = PdfDocument.FromFile("ConfidentialDocument.pdf");
pdf.SecuritySettings.UserPassword = "user";
pdf.SecuritySettings.OwnerPassword = "owner";
pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SaveAs("ConfidentialDocumentSecured.pdf");Imports IronPdf
Private pdf = PdfDocument.FromFile("ConfidentialDocument.pdf")
pdf.SecuritySettings.UserPassword = "user"
pdf.SecuritySettings.OwnerPassword = "owner"
pdf.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SaveAs("ConfidentialDocumentSecured.pdf")输出

在此示例中,IronPDF对PDF进行了加密并限制用户操作,确保文档免受未经授权的访问或操作。
PDFSharp:最适合基本安全需求
虽然PDFSharp提供基本的密码保护,但它缺少高级功能,例如数字签名、水印或复杂的加密。 对于只需要限制访问到PDF或应用基本密码的简单用例,PDFSharp是一个不错的选择。 然而,如果您的应用程序需要更高级的安全功能,如安全的文件签名或加密以符合合规标准,您可能会发现PDFSharp的不足。
PDFSharp的用例:
- 保护内部文件:PDFSharp适合保护具有基本密码保护的PDF,以防止未经授权访问内部报告、发票和合同。
- 机密文件的基本加密:如果您的应用程序不需要合规驱动的安全性,但您仍希望确保未经授权的用户不能打开敏感的PDF,PDFSharp的密码保护是一个简单的解决方案。
然而,与IronPDF相比,PDFSharp的加密能力有限,因此不适合需要强安全性的场景。 它可以对PDF进行用户密码保护并限制某些操作如打印和复制,但不提供金融或医疗等行业需要的可靠加密标准。
PDFSharp代码示例——基本PDF加密:
using PdfSharp.Pdf;
using PdfSharp.Pdf.Security;
using PdfSharp.Drawing;
// Create a new document
var document = new PdfSharp.Pdf.PdfDocument();
// Add a page and draw something on it
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 16, XFontStyleEx.Bold);
gfx.DrawString("Confidential Document", font, XBrushes.Black, new XPoint(50, 50));
// Set password protection
document.SecuritySettings.UserPassword = "password123";
document.SecuritySettings.OwnerPassword = "admin456";
// Save the encrypted PDF
document.Save("pdfsharp-encrypted.pdf");Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.Security
Imports PdfSharp.Drawing
' Create a new document
Private document = New PdfSharp.Pdf.PdfDocument()
' Add a page and draw something on it
Private page = document.AddPage()
Private gfx = XGraphics.FromPdfPage(page)
Private font = New XFont("Arial", 16, XFontStyleEx.Bold)
gfx.DrawString("Confidential Document", font, XBrushes.Black, New XPoint(50, 50))
' Set password protection
document.SecuritySettings.UserPassword = "password123"
document.SecuritySettings.OwnerPassword = "admin456"
' Save the encrypted PDF
document.Save("pdfsharp-encrypted.pdf")输出

在此代码中,PDFSharp仅将用户密码应用到PDF文档,以限制访问。
功能性应用
IronPDF:最佳综合 PDF 编辑、编辑和转换工具
IronPDF在需要全面的PDF编辑、编辑和处理多种文件格式如DOCX到PDF转换的场景中表现出色。 它非常适合于需要高级PDF操作的应用程序的开发人员,能够轻松集成到业务工作流程中。
IronPDF的实际使用场景:
- **删除敏感信息:**IronPDF 在法律、医疗和政府等行业中非常有效,这些行业需要在 PDF 文档中删除或隐藏敏感信息(如个人数据、财务细节或医疗记录)。 编辑不仅仅是覆盖文字,还有确保编辑的信息不可恢复。
- **从DOCX文件自动创建PDF:**IronPDF使得从Microsoft Word文档(DOCX)转换为PDF变得简单。 这在企业软件或电子商务等环境中特别有用,在这里发票、报告或合同经常从Word文档生成,需要转换为安全的PDF进行存档或分发。
- **可填写的PDF表单:**如果您正在构建允许用户输入数据的交互式PDF表单(例如申请表、调查表、反馈表),IronPDF允许您创建和修改可填写的表单。 此功能通常用于人力资源、教育和客户支持等行业。
**示例用例 – 将DOCX转换为PDF并添加水印:**在企业设置中,可以使用IronPDF将Word文档转换为PDF,然后添加水印以进行品牌推广或安全目的。 使用IronPDF,您可以将水印应用于指定的页面或所有PDF页面。
在这里,我们将采用一个示例DOCX文件并应用一个水印,将其标记为草稿,带有示例公司品牌。
using IronPdf;
using IronPdf.Editing;
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("document.docx");
var watermark = "<h1 style='Color: red; font-size: 60px'>DRAFT</h1><img style='width: 200px' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";
pdf.ApplyWatermark(watermark, opacity: 75, VerticalAlignment.Top, HorizontalAlignment.Right);
pdf.SaveAs("output.pdf");Imports IronPdf
Imports IronPdf.Editing
Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("document.docx")
Private watermark = "<h1 style='Color: red; font-size: 60px'>DRAFT</h1><img style='width: 200px' src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"
pdf.ApplyWatermark(watermark, opacity:= 75, VerticalAlignment.Top, HorizontalAlignment.Right)
pdf.SaveAs("output.pdf")输出

在这个例子中,IronPDF首先将DOCX文档转换为PDF然后添加一个水印以确保文件被标记为**"草稿"**。 此功能对于需要分发敏感信息的公司非常有用,确保文档的安全性得到维护或用于跟踪哪些文档为草稿。
PDFSharp:适合轻量级PDF编辑和简单文件生成
PDFSharp更适合于基本的PDF操作,需要轻量级的编辑和从头创建文档。 它在从头创建简单的PDF,修改现有PDF,和应用基本编辑等任务中表现出色。 然而,涉及到更复杂的操作,如高级涂黑、文档转换或处理表单数据时,与IronPDF相比,PDFSharp的功能则更有限。
PDFSharp的真实用例:
- **生成简单的报告和文档:**PDFSharp非常适合创建简单的、静态的文档,如报告、发票或宣传册。 它常用于小型业务应用程序中,PDF生成不需要过于复杂但需要包括基本格式如文本、图像和表格的地方。
- **基本PDF编辑和合并:**在需要将多个PDF合并为一个文档或将大型PDF拆分为更小部分的场景中,PDFSharp提供简单的功能来处理这些任务。 这对于需要轻量化操作而不需要高级PDF操作的文档管理系统来说是个不错的选择。
- **基本涂黑:**尽管PDFSharp不提供如IronPDF那样的高级涂黑功能,但它可以用于基本的涂黑,例如用形状或纯色覆盖文本或图像。 这对于低安全文件或不需遵从严格数据隐私法的应用程序来说足够了。
**示例用例:**在商业环境中,PDFSharp可以用于从数据库中提取的数据生成报告,将多个文件合并为一个,或为了内部使用对文档的一部分进行涂黑。
PDFSharp代码示例——合并两个PDF:
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
// Open the first PDF
PdfDocument document1 = PdfReader.Open("document1.pdf", PdfDocumentOpenMode.Import);
// Open the second PDF
PdfDocument document2 = PdfReader.Open("document2.pdf", PdfDocumentOpenMode.Import);
// Create a new PDF document for the merged file
PdfDocument outputDocument = new PdfDocument();
// Add pages from the first document
foreach (PdfPage page in document1.Pages)
{
outputDocument.AddPage(page);
}
// Add pages from the second document
foreach (PdfPage page in document2.Pages)
{
outputDocument.AddPage(page);
}
// Save the merged PDF
outputDocument.Save("merged-document.pdf");Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.IO
' Open the first PDF
Private document1 As PdfDocument = PdfReader.Open("document1.pdf", PdfDocumentOpenMode.Import)
' Open the second PDF
Private document2 As PdfDocument = PdfReader.Open("document2.pdf", PdfDocumentOpenMode.Import)
' Create a new PDF document for the merged file
Private outputDocument As New PdfDocument()
' Add pages from the first document
For Each page As PdfPage In document1.Pages
outputDocument.AddPage(page)
Next page
' Add pages from the second document
For Each page As PdfPage In document2.Pages
outputDocument.AddPage(page)
Next page
' Save the merged PDF
outputDocument.Save("merged-document.pdf")输出

此代码演示了如何使用PDFSharp将两个PDF文档合并为一个。 这是需要将多个报告、发票或其他文档合并为一个PDF的应用程序中常见的用例。
定价和许可
IronPDF和PDFSharp提供了不同的定价和许可方式,以满足各种需求。 IronPDF提供一种永久许可模式,而PDFSharp是开源的,可以免费使用。
IronPDF的定价和许可:
IronPDF使用永久许可模式,这意味着用户获得终身访问权限,并且每年更新年更新。 它提供分级定价,根据使用情况,包括个人、团队或企业许可证。 提供免费试用,允许用户在购买前测试该工具。 商业许可证用户还可以获得技术支持和功能更新。
*永久许可:终身访问权限,包括年度更新。 *分级许可:个人、团队或企业许可。 ***免费试用:**用户可以在购买前试用。 *商业支持:获得支持和定期更新。
PDFSharp许可:
PDFSharp在MIT许可下是免费的,这意味着它是开源的,适用于个人和商业用途。 不过,它不提供 高级支持,使用户不得不依赖 社区论坛 寻求帮助。 这适合于较小的或开源项目,但对于更复杂的需求可能需要外部帮助。
- MIT许可证:可免费用于商业用途。 *不提供高级支持:可通过社区论坛寻求帮助。 *灵活性:非常适合小型项目。
终端用户支持和文档
在开发者支持方面,IronPDF表现出色,提供详细的文档和多种帮助渠道。 与PDFSharp不同,IronPDF提供结构化资源,帮助开发者在整个集成过程中。
IronPDF开发者支持:
IronPDF提供全面的文档,包括逐步指南、API参考和代码样例。 提供敬业的支持团队以应对技术问题。 此外,在线知识库提供故障排除解决方案和有用的提示。 对于企业客户,优先支持确保更快的问题解决。
*全面的文档:详细的指南和代码示例。 *支持团队:直接获得技术支持。 *知识库:****常见问题解答和故障排除技巧。 *优先支持:为企业快速解决问题。
社群互动:
IronPDF还培养了活跃的开发者社区。 用户可以在社区论坛中交流问题、分享经验和寻找解决方案。 此外,还有教程和视频指南可以帮助用户快速入门。 IronPDF也活跃在GitHub上,社区可以报告错误并建议功能。
*社区论坛:一个提出问题和分享解决方案的空间。 *教程和指南:****分步说明和视频资源。
- GitHub 协作:用户可以贡献代码并提出新功能建议。
PDFSharp开发者支持:
PDFSharp的支持主要来自其GitHub存储库和诸如Stack Overflow之类的社区论坛。 开发人员可以报告问题、浏览解决方案或提问。 然而,文档有限且详细指南或官方教程稀缺,开发人员需要依赖社区贡献或摸索。
- **GitHub 仓库:**报告问题并探索解决方案。 *社区论坛:在Stack Overflow上寻求帮助。 ***文档匮乏:**指南和资源有限。
社区驱动贡献:
缺乏官方支持意味着开发者可以通过GitHub为PDFSharp做出贡献,改进文档或添加功能。 尽管有用户贡献的教程,但缺乏专门的支持团队意味着故障排除可能需要更长时间。
*开源贡献:用户可以改进文档。 *协作式故障排除:依靠社区的帮助。
许可、文档和支持总结

结论
在选择IronPDF和PDFSharp之间时,决策很大程度上取决于您的项目要求。 IronPDF是一个功能强大、功能丰富的解决方案,具备将HTML转换为PDF、强大的加密和跨平台支持。 它非常适合于需要高质量PDF操作、安全功能和专门支持的企业、公司和开发人员。
另一方面,PDFSharp是一个适合不需要高级功能的简单项目的可靠开源选择,它在基本PDF创建和编辑方面提供了使用方便和灵活性。
如果您正在寻找一个功能全面的PDF解决方案,我们鼓励您探索IronPDF。 凭借其商业支持和持续更新,IronPDF旨在随着您的开发需求扩大,并确保效率和安全的PDF处理。 今天就试用IronPDF,发现它如何能简化您的PDF工作流程!

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

