Wkhtmltopdf C#比较和代码示例
选择适合您需求的PDF库可能很困难,因为选择似乎无穷无尽。 比较时,关键要素包括提供的功能与您的需求、支持和文档的水平、学习曲线以及许可费用。 至关重要的是,还必须权衡安全性影响。
今天,我们将看看两个强大的PDF生成库:WkHtmlToPdf和IronPDF。 每个都有独特的优势。 但是,在C#中使用WkHtmlToPdf可能会引入安全风险。 由于它依赖于外部可执行文件(WebKit),漏洞或命令清理不当可能被利用,导致通过精心构造的HTML或参数危及服务器。
作为更安全的替代方案,可以考虑IronPDF。 它是一个托管的.NET库,减少了与外部进程相关的攻击面。 IronPDF在应用程序的安全上下文中运行,为PDF生成和处理提供了可能更安全的环境,直接在C#中。 我们的比较将探讨它们的功能、优点以及这些重要的安全性差异。
IronPDF。和WkHtmlToPdf概述
IronPDF是一个强大的C#库,可以在.NET框架内实现无缝的PDF创建、操作和处理。 凭借用户友好的API和对各种PDF相关功能的广泛支持,IronPDF使开发人员更容易将PDF功能集成到C#应用程序中。 该库以其全面的功能集而闻名,包括HTML到PDF的转换、文本和图像提取、表单处理以及文档安全选项,如加密和数字签名。 您可以通过NuGet包管理器控制台轻松安装IronPDF,让它立即运行。有关更多信息,请访问IronPDF的官方网站。
WkHtmlToPdf是WkHtmlToPdf库的.NET Core P/Invoke包装器,这是一种使用Qt Webkit渲染引擎将HTML页面转换为PDF的流行工具。这个开源库是从DinkToPdf分支出来的,提供了基本的HTML到PDF转换功能,重点在于简单和高效。 安装起来很简单; 下载并运行WkHtmlToPdf可执行文件后,您所需要的就是确保将其添加到系统的路径环境变量中。 虽然缺乏IronPDF所提供的高级功能,但WkHtmlToPdf是一个轻量级且易于使用的库。
跨平台兼容性
IronPDF。
IronPDF凭借其广泛的跨平台兼容性而脱颖而出。 它支持.NET框架内的多种环境,确保在不同平台之间的无缝操作。
.NET 版本:
完全用C#、VB.NET和F#编写并支持。
- .NET Core (8, 7, 6, 5和3.1+)。
- .NET Standard (2.0+)。
- .NET Framework (4.6.2+)。
应用环境:IronPDF可在多个应用环境中运行,如Windows、Linux、Mac、Docker、Azure和AWS。
IDEs:支持Microsoft Visual Studio和JetBrains Rider & ReSharper等集成开发环境。
- 操作系统和处理器:支持多种不同的操作系统和处理器,包括Windows、Mac、Linux、x64、x86、ARM。
有关IronPDF兼容性的更多详细信息,请访问IronPDF兼容性。
WkHtmlToPdf
.NET版本:作为命令行工具,WkHtmlToPdf本身没有直接的.NET支持,不过,.NET开发人员通常通过包装器或库,如DinkToPdf,与其交互。
应用环境:WkHtmlToPdf在Windows、Linux和macOS等多个应用环境中运行平稳。
- 编程语言:WkHtmlToPdf主要通过命令行工具使用或与C#、Java、Python、PHP和Node.js等编程语言集成。
安装
安装 IronPDF。
要使用IronPDF,请在Visual Studio中通过NuGet包管理器安装它:
Install-Package IronPdf
安装Wkhtmltopdf
下载安装程序:
- 前往WkHtmlToPdf下载页面。
- 在"Windows"部分下,下载最新的稳定版本安装程序(例如,.exe文件)。
运行安装程序:
- 双击下载的.exe文件。
- 按照安装提示进行操作。
- 在安装过程中,您可以选择将WkHtmlToPdf添加到系统PATH中,以便从任何命令提示符访问。
- 验证安装:
- 打开命令提示符 (cmd)。
- 输入
wkhtmltopdf --version以检查它是否正确安装。 您应会看到屏幕上显示的版本号。
关键功能比较:IronPDF与WkHtmlToPdf中的PDF功能
在比较IronPDF和WkHtmlToPdf时,重要的是要查看这两个库提供的PDF生成和操作的功能。
IronPDF。功能:
PDF转换:IronPDF可以将HTML转换为PDF。 凭借对现代网络标准的全面支持,您可以放心,IronPDF将始终从您的HTML页面、文件或内容中返回像素完美的PDF。 IronPDF还可以将其他格式的文件转换为PDF,如DOCX、图像、RTF等。
PDF生成:使用IronPDF,您可以从URL、图像格式、ASPX文件或HTML字符串生成PDF。
安全功能:使用IronPDF,您可以始终确保任何敏感PDF文件都是安全的,感谢其安全功能。 使用IronPDF加密您的PDF文件,设置密码,并为PDF文件设置权限。
- PDF编辑功能:使用IronPDF,您可以轻松处理现有的PDF文档,编辑它们,并读取PDF文件。 IronPDF提供编辑功能,如添加页眉和页脚,将文本和图像印在PDF页面上,为PDF添加自定义水印,处理PDF表单,以及拆分或合并PDF文件。
有关IronPDF功能的更多详情,请访问IronPDF功能。
WkHtmlToPdf C#关键功能:
HTML到PDF转换:转换HTML页面、文件、字符串和CSS内容为PDF,保留原始布局。
自定义选项:支持页面大小、页边距、页眉、页脚等。
开源:在MIT许可证下免费使用。
- 跨平台兼容性:在Windows、Linux和macOS环境中运行。
IronPDF与WkHtmlToPdf的代码示例关键功能比较
HTML 到 PDF 转换
IronPDF:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
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 an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")WkHtmlToPdf (使用DinkToPdf):
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);Imports DinkToPdf
Private converter = New BasicConverter(New PdfTools())
Private doc = New HtmlToPdfDocument() With {
.Objects = {
New ObjectSettings() With {.HtmlContent = "<h1>Hello World</h1>"}
}
}
Private pdf() As Byte = converter.Convert(doc)
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf)WkHtmlToPdf (使用命令行)
wkhtmltopdf myfile.html myfile.pdfwkhtmltopdf myfile.html myfile.pdf使用IronPDF,您可以通过简短的代码行从HTML内容创建像素完美的PDF文件! 其对现代网络标准的支持确保您生成的PDF文件尽可能保持原始来源的质量。 WkHtmlToPdf围绕HTML转PDF构建,其用简化的方式处理这一任务,无论是作为其他库的一部分还是在命令行工具中,均可反映这一点。
加密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");Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private 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")WkHtmlToPdf:
WkHtmlToPdf不直接提供加密支持,需要第三方库。
IronPDF提供了一种简单易用的方式来加密PDF文件,并让您在整个过程中具备充足的控制权。 WkHtmlToPdf由于它主要是专注于HTML转PDF转换工具,因此自身不提供任何直接的PDF加密支持。
编辑PDF内容
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");Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")WkHtmlToPdf:
WkHtmlToPdf缺乏内置的修订功能。
IronPDF的修订功能是一个强大而简洁的API,可以方便地在代码中修订指定内容,简化修订任务的自动化过程。 WkHtmlToPdf不提供任何内置的PDF修订支持。
为 PDF 文件添加数字签名
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Instantiate Renderer
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;
// Instantiate Renderer
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");Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")WkHtmlToPdf C#:
WkHtmlToPdf C#不提供对PDF签名的本地支持。
使用IronPDF时,您可以轻松地数字签名您的PDF,多亏了它简单易用的数字签名功能。 这个强大的签名工具为您提供程序化数字签名PDF文件所需的工具,如果您经常签署PDF文件,它能为您节省时间。 WkHtmlToPdf本身无法处理PDF签名,没有什么,但如果您将其作为另一个库的一部分使用,则该库可能具备执行此任务的能力。
为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");Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private 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")WkHtmlToPdf:
没有直接明确的方法来做到这一点。 相反,您需要实现高级CSS样式以应用水印或使用可以处理此任务的单独的PDF库。
IronPDF为用户提供了强大而简洁的水印工具。 使用类似于HTML/CSS的方法,IronPDF 的水印工具易于使用,使得将自定义水印应用于PDF文件变得轻而易举。 如果您单独使用WkHtmlToPdf,仅通过使用CSS才能实现水印。
图像和文本的钤印
IronPDF:
using IronPdf;
using IronPdf.Editing;
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;
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");Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.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");Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")WkHtmlToPdf C#:
文本和图像的钤印需要使用HTML和CSS的间接方法,因为它没有任何内置的特定选项。
使用IronPDF,将图像和文本钤印到PDF文件上从未如此简单,这要归功于其强大且易于使用的图像和文本钤印工具。 WkHtmlToPdf不包含任何内置的钤印工具,但您仍然可以通过使用HTML和CSS应用钤印内容来获得类似的结果。
DOCX 到 PDF 转换
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");Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")WkHtmlToPdf C#:
需要额外的库来处理DOCX到PDF的转换。
IronPDF简化了DOCX到PDF转换,凭借其强大的DOCX到PDF工具,并且仅需几行代码,从而最终提高您的项目效率。 WkHtmlToPdf不提供任何内置的DOCX到PDF转换支持; 相反,您需要查看可以处理此任务的其他PDF库。
代码示例比较总结
要了解 IronPDF 提供的丰富功能,并在实际工作中看到它们,请查看 IronPDF 的如何操作指南,深度挖掘每个功能,探索其工作原理,并给您成为 PDF 专家的技能。
定价和授权:IronPDF与WkHtmlToPdf
IronPDF。
IronPDF 为购买许可证提供了不同级别和附加功能。 开发人员还可以购买[Iron Suite](Iron Suite),以两种产品的价格获得IronSoftware的所有产品。 如果您还没准备好购买许可证,IronPDF提供了免费试用版,让您在购买许可证前探索所有功能。
永久许可证:提供一系列永久许可证,具体取决于团队规模、项目需求和地点数量。 每种许可证类型都配有电子邮件支持。
Lite License:此许可证支持一位开发人员、一个地点和一个项目。
Plus License:支持三位开发人员、三个地点和三个项目,这是比lite许可证的进一步升级。 Plus许可证除了电子邮件支持外,还提供聊天支持和电话支持。
Professional License:此许可证适用于较大的团队,支持十位开发人员、十个地点和十个项目。 \u5b83\u63d0\u4f9b\u4e0e\u4e4b\u524d\u5c42\u6b21\u76f8\u540c\u7684\u8054\u7cfb\u652f\u6301\u6e20\u9053\uff0c\u4f46\u4e5f\u63d0\u4f9b\u5c4f\u5e55\u5171\u4eab\u652f\u6301\u3002
免版税再发行:IronPDF的授权还提供附加成本的免版税再发行保障。
不间断的产品支持:IronPDF提供持续的产品更新、安全功能升级,以及其工程团队的支持。
- Iron Suite:您可以访问Iron Software的所有产品,包括IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint和IronWebScraper。
WkHtmlToPdf
WkHtmlToPdf是一个免费使用的开源工具,遵循LGPL许可证,该许可证允许您在专有应用程序中使用wkhtmltopdf,只要不修改库本身。
文档和支持:IronPDF与WkHtmlToPdf
IronPDF。
IronPDF在提供详细使用文档和支持方面表现突出:
全面的文档: 涵盖所有功能的详尽且用户友好的文档。
24/5支持: 提供活跃的工程师支持。
视频教程: 在YouTube上提供分步视频指导。
社区论坛: 提供活跃的社区以获得额外支持。
定期更新: 每月产品更新以确保最新功能和安全补丁。
- PDF API参考:提供API参考,以便您能充分利用我们的工具。
更多信息,请查看IronPDF的广泛文档,并访问Iron Software YouTube频道。
WkHtmlToPdf
GitHub:WkHtmlToPdf的GitHub库是用户在使用该工具时报告问题的地方。
Stack Overflow:在这里,您可以找到许多与WkHtmlToPdf相关的问题和答案,并获得社区建议。
- 官方文档:官方文档提供有关安装、使用、命令行选项和常见配置的详细信息。
结论
综上所述,IronPDF和WkHtmlToPdf均在C#中的PDF生成和操作方面具有独特优势。 IronPDF凭借其全面的功能集,包括加密、修订、数字签名和无缝的DOCX到PDF转换等高级PDF功能而脱颖而出,使其成为开发人员寻找多功能且易于使用的库的强大解决方案。 其丰富的功能集和广泛的文档,使IronPDF成为您开发工具包中的一个强大工具,尤其当您经常处理PDF文件时。
另一方面,WkHtmlToPdf在HTML转PDF转换方面简洁高效,尤其适合寻求轻量级开源解决方案的用户,而无需高级PDF操作功能。 虽然它缺乏IronPDF的一些更复杂的功能,但WkHtmlToPdf的易用性、跨平台支持和零成本使其成为基本PDF生成任务的有吸引力的选择。 最终,在项目的特定需求、高级PDF功能的需要和预算考量的保证下,IronPDF和WkHtmlToPdf间的选择仍可能有所不同。
您可以尝试30天免费试用,了解其可用功能。
常见问题解答
如何在 C# 中将 HTML 转换为 PDF?
您可以使用 IronPDF 的 RenderHtmlAsPdf 方法将 HTML 字符串转换为 PDF。此外,您还可以使用 RenderHtmlFileAsPdf 方法将 HTML 文件转换为 PDF。
IronPDF 和 WkHtmlToPdf 之间的主要区别是什么?
IronPDF 提供了全面的功能集,包括文本提取、表单处理、加密和数字签名,以及跨平台兼容性。WkHtmlToPdf 是一个专注于简单 HTML 到 PDF 转换的开源工具。
我如何在 .NET 项目中安装 IronPDF?
可以通过在 Visual Studio 中执行命令 Install-Package IronPdf 使用 NuGet Package Manager 安装 IronPDF。
是否可以使用 IronPDF 加密 PDF?
是的,IronPDF 提供选项来加密 PDF 文件、设置密码并分配权限以增强文档安全性。
IronPDF 支持跨平台开发吗?
确实,IronPDF 在 .NET 框架中的各种环境中兼容,包括 Windows、Linux、Mac、Docker、Azure 和 AWS。
IronPDF 能否将 DOCX 文件转换为 PDF?
是的,IronPDF 包括无缝转换 DOCX 文件为 PDF 的功能。
IronPDF 用户可以获得哪些支持?
IronPDF 提供详细的文档、24/5 工程师支持、视频教程、社区论坛和定期软件更新。
如何安装 WkHtmlToPdf?
要安装 WkHtmlToPdf,从其官方网站下载可执行文件,运行安装程序,并确保其包含在系统的 PATH 中。
使用 WkHtmlToPdf 有什么许可影响?
WkHtmlToPdf 是根据 LGPL 许可证分发的,允许在开源和专有应用程序中免费使用。
WkHtmlToPdf 是否提供 PDF 加密支持?
不,WkHtmlToPdf 不提供内置 PDF 加密支持。需要额外的第三方库来实现加密功能。







