在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
IronPDF 和 DinkToPdf 是在 .NET 中创建和编辑 PDF 的著名库。 它们具有相同的基本功能,但在特性、能力和用户友好性方面有很大的差异。 本文的目标是详细比较这两个库,以便潜在用户可以识别它们的优缺点,并最终决定哪一个最适合他们。
IronPDF 是为 .NET 程序员创建的完整 PDF 库。 它具有从不同来源创建、修改和渲染PDF的能力,例如HTML、ASPX和URL等。 IronPDF之所以如此受欢迎的主要原因之一在于它的集成简单性以及广泛的功能,这些功能符合当代网络标准,如CSS3、HTML5或甚至JavaScript。 此外,IronPDF 旨在使用几行代码准确呈现文档,因此使得该软件更适合希望拥有功能强大但易于使用的 PDF 生成工具的开发者。
DinkToPdf 是一个轻量级、直接的 .NET 原生库,它使用 Webkit 引擎将 HTML 转换为 PDF。 它以安装简单、界面友好而著称,因为它是广泛使用的 wkhtmltopdf 库的 .NET Core 封装程序。 然而,它缺少IronPDF提供的一些高级功能。
IronPDF 和 DinkToPdf 都是旨在简化 .NET 应用程序中从 HTML 内容生成 PDF 的库,但它们在方法和跨兼容性支持方面有所不同:
.NET 版本:
(C#, VB.NET, F#)
.NET Core(8、7、6、5 和 3.1+)
.NET 版本:
.NET Framework (4.x)
在比较IronPDF 的 PDF 功能和 DinkToPdf 的关键功能时,IronPDF 提供了更全面和多样化的功能集。 以下是详细比较:
PDF 盖章:使用 IronPDF 在您的 PDF 文档上盖上图像和文本。
用户可以在IronPDF 特性页面深入了解 IronPDF 的功能。
在工作场所和其他环境中,将HTML转换为PDF内容是一个常见且必要的操作。 以下代码示例比较了IronPDF和DinkToPdf如何处理此过程。
IronPDF 示例:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
DinkToPdf 示例:
var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4,
},
Objects = {
new ObjectSettings() {
PagesCount = true,
HtmlContent = "<h1>Hello World!</h1>",
WebSettings = { DefaultEncoding = "utf-8" },
}
}
};
byte[] pdfBytes = converter.Convert(document);
File.WriteAllBytes(outputPath, pdfBytes);
var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
GlobalSettings = {
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4,
},
Objects = {
new ObjectSettings() {
PagesCount = true,
HtmlContent = "<h1>Hello World!</h1>",
WebSettings = { DefaultEncoding = "utf-8" },
}
}
};
byte[] pdfBytes = converter.Convert(document);
File.WriteAllBytes(outputPath, pdfBytes);
IronPDF和DinkToPdf都提供了强大的工具,用于在.NET应用程序中将HTML内容转换为PDF文档。 IronPDF 提供了一种简化且易于使用的方法,同时也给予用户充分的控制。 其现代网络标准的支持确保它始终能生成高保真的PDF文件。 DinkToPdf 通过 .NET 包装器利用 wkhtmltopdf,提供广泛的 PDF 生成自定义选项。 它支持颜色模式、页面方向、纸张大小等设置。
加密和解密PDF 是许多工作场所的重要组成部分,拥有一个可以轻松执行此任务的工具更为重要。 在下面的代码片段中,我们将比较IronPDF和DinkToPdf中的PDF加密是如何工作的:
IronPDF:
using IronPdf;
using System;
//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
//Edit file security settings
//The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
//Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
//Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
//Edit file security settings
//The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
DinkToPdf:
DinkToPdf 库不直接支持加密 PDF 文件。 但是,您可以使用DinkToPdf直接与wkhtmltopdf一起实现PDF加密。
在加密PDF文件时,IronPDF 提供了一个强大的解决方案,具备全面的加密工具,用户可以轻松地保护PDF,同时控制安全设置,如只读权限和内容可访问性。 用户可以管理元数据并指定加密密码以增强文档安全性。
另一方面,DinkToPdf,依赖于wkhtmltopdf,不直接支持PDF加密。 然而,可以通过直接在DinkToPdf中配置wkhtmltopdf参数来实现加密。 这种方法使用户能够设置用户密码和所有者密码来保护从HTML内容生成的PDF文件,以确保保密性和访问控制。
在某些情况下,在处理机密或私人信息时,可能需要编辑 PDF 文件的某些部分。 以下代码片段展示了 IronPDF 与 DinkToPdf 在执行编辑时的比较。
IronPDF 示例:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
DinkToPdf 本身不支持 PDF 编辑任务; 然而,您可以通过在转换为PDF之前操作HTML内容来间接实现涂抹。 这种涂改任务的方法可能是这样的:
准备要编辑的HTML:
将HTML转换为PDF:
生成编辑的PDF:
IronPDF 在编辑 PDF 内容方面采取直接和简洁的方法。 它允许您修改元数据、调整安全设置并加密PDF文件。 这包括将文档设置为只读,限制复制和粘贴以及控制打印权限。 另一方面,DinkToPdf不直接支持PDF编辑任务。 相反,您可以通过在将HTML内容转换为PDF之前操作它来间接实现涂抹。
通过自动化PDF文件的电子签名,您可以节省大量时间。 在本节中,我们将比较 IronPDF 和 DinkToPdf 在签署文档方面的优势。
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
DinkToPdf:
独立运行时,DinkToPdf不提供内置的数字PDF签名工具。 然而,如果您使用与 .NET 应用程序兼容的外部库,例如 iTextSharp,您仍然可以签署 PDF 文件。然后,您可以使用 DinkToPdf 准备要签名的 PDF 文件,之后使用您下载的外部库对 PDF 应用数字签名。
IronPDF 为用户提供了一个直接且简单的流程,用于在 PDF 文件上应用数字签名,为用户提供了一个强大的工具,以高效地自动化他们的 PDF 签名过程。 DinkToPdf,另一方面,需要外部库来完成此任务。
通过软件在PDF上添加和自定义水印是处理隐私、版权保护、品牌等非常方便的工具,尤其是在处理敏感文件时。 在这里,我们比较了IronPDF和DinkToPdf在向PDF文件添加水印方面的效果如何。
IronPDF 示例:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
DinkToPdf:
尽管DinkToPdf不支持在PDF上应用水印的原生支持,但用户可以通过嵌入水印与任何希望应用到PDF的HTML内容来达到类似的效果。 此过程将涉及使用 CSS 将水印作为覆盖层放置在 HTML 内容上。
通过 HTML/CSS 应用,IronPDF 简便而强大的 API 使用户能够快速将水印施加到 PDF 上,并让他们对整个操作有更大的控制。 此特性使用户可以随时随地轻松添加自定义水印。
相反,DinkToPdf 缺乏本地水印支持,但可以通过在 HTML 内容中嵌入水印来实现类似效果。 用户可以使用CSS在HTML上叠加水印,然后将其转换为PDF。
有些情况下,您需要在PDF页面上放置一个印章,就像应用水印时一样。 在这种情况下,我们将研究 IronPDF 和 DinkToPdf 在向 PDF 文档上加盖内容时采取的方法。
IronPDF 示例:
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
DinkToPdf:
与应用水印一样,DinkToPdf不支持任何内置的印章工具。 相反,用户将需要再次使用嵌入你希望在转换为PDF的HTML内容中加盖的内容。
在将内容加盖到PDF文档上时,IronPDF 使用其内置的文本和图像盖章工具,以完全控制盖章过程。 这些工具使在新的或现有的PDF文件上加盖内容变得容易。 另一方面,DinkToPdf 不提供对印章工具的原生支持。 用户必须在转换之前将所需内容直接嵌入到HTML中,类似于添加水印,以在生成的PDF文档中实现盖章效果。
要生成PDF文件,可能需要进行格式转换。 在这个实例中,我们将讨论DOCX 到 PDF的转换,并比较 IronPDF 和 DinkToPdf 如何执行此转换过程。
IronPDF 示例:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
DinkToPdf:
DinkToPdf 不直接支持 DOCX 到 PDF 的转换,因为它的主要目的只是将 HTML 页面转换为 PDF。 如果用户想要使用 DinkToPdf 将 DOCX 文件转换为 PDF,他们需要使用第三方库(例如 DocX 或 Aspose.Words)将 DOCX 文件转换为 HTML。 然后他们可以使用DinkToPdf将生成的HTML内容转换为PDF。
IronPDF 通过其内置的 DocxToPdfRenderer 渲染器提供直接的 DOCX 到 PDF 转换支持,使这一过程变得简单。 因为DinkToPdf不支持此过程,需要使用另一个库将DOCX转换为HTML,然后再使用DinkToPdf将HTML转换为PDF,这使得任务变得更加复杂。
探索 IronPDF 许可选项,以了解不同级别和购买许可证的附加功能。 开发人员也可以购买Iron Suite,只需支付两个产品的价格,即可访问Iron Software的所有产品。 如果您还没有准备好购买许可证,IronPDF 提供了一个免费试用,有效期为30天。
Iron Suite:价格为 $1,498,您可以访问所有 Iron Software 产品,包括 IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint 和 IronWebScraper。
DinkToPdf 是免费使用的,基于开放源代码模式,并根据 MIT 许可证授权。 这意味着任何人都可以免费且无限制地使用这个产品。 尽管这使它比竞争对手更便宜,但用户也无法获得其他PDF工具(如IronPDF)所提供的所有功能丰富的工具。
定期更新:每月产品更新,以确保最新功能和安全补丁。
有关IronPDF文档和支持的更多信息,请访问IronPDF文档和Iron Software YouTube频道。
总之,在为 .NET Core 选择 PDF 操作库时,IronPDF 是一款可以添加到开发人员工具包中的强大工具。 IronPDF 在多个方面表现出色,例如从HTML到PDF的转换、加密、编辑、数字签名和水印,为这些任务提供了流畅高效的解决方案。 它在跨平台兼容性方面表现出色,并且广泛支持现代网络标准。 此外,IronPDF 的定价和许可选项更为简单明了,很好地满足了不同团队规模和项目需求,使其成为许多开发者的经济实惠选择。
同时,DinkToPdf 是一款轻量级开源转换器,它使用 wkhtmltopdf 引擎,主要用于将 HTML 转换为 PDF 格式。 它没有 IronPDF 中的所有功能,但它确实提供了一种将简单 HTML 文件转换成 PDF 格式的高效方法,并且允许用户轻松配置基本设置,如页面大小和方向。
总之,当为您的项目选择合适的库时,应考虑您需要从中获取什么:如果您的项目需要围绕处理PDF文件的广泛功能,或者您重视强大的安全措施,那么请选择IronPDF; 另一方面,如果简单性最为重要,或者您只需要一个用于基本HTML到PDF转换的工具,那么DinkToPdf可能适合您的需求。
您可以尝试30天免费试用以查看他们提供的功能。