在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
在当今快节奏的开发环境中,选择合适的工具从HTML生成PDF可以在效率和输出质量方面产生显著的差异。 执行此任务的两个主要竞争者是IronPDF和DocRaptor。 虽然这两个工具都旨在简化将HTML转换为PDF的过程,但它们提供不同的功能、定价模式以及与.NET和其他平台的集成水平。
在本文中,我们将深入进行详细比较IronPDF和DocRaptor,突出它们的优点、限制以及每种工具的最佳使用场景,帮助您决定哪种解决方案最适合您的项目需求。
IronPDF提供广泛的功能,用于在.NET应用程序中创建、编辑和管理PDF。 凭借对HTML、CSS、JavaScript和C#的全面支持,它为开发人员提供了一个高度可定制且强大的工具来处理PDF。 该库旨在对开发人员友好,提供优秀的文档,确保在 .NET 环境中快速部署和易于使用。
DocRaptor是一个基于云的解决方案,专注于通过API集成为网络应用程序提供PDF和Excel生成。 DocRaptor 使用 Prince PDF 引擎,支持包括 .NET 在内的多种编程语言,并能够将 HTML 转换为 PDF。 虽然该平台在基本的PDF生成方面表现出色,但它需要互联网连接才能访问其API,并且缺乏IronPDF提供的相同水平的定制和灵活性。
IronPDF因其广泛的跨平台兼容性而脱颖而出。 它支持 .NET 框架内的广泛环境,确保在不同平台上的无缝运行。 以下是IronPDF平台兼容性的总结:
.NET 版本:
完全使用C#编写并支持C#,VB.NET,和 F#
.NET Core(8、7、6、5 和 3.1+)
操作系统和处理器: 支持多种不同的操作系统和处理器,包括Windows、Mac、Linux、x64、x86、ARM。
有关IronPDF兼容性的更多详细信息,请访问IronPDF 兼容性.
DocRaptor 提供强大的跨平台兼容性和 .NET 版本支持,包含以下内容:
PDF版本支持: 可以支持PDF版本1.2-1.7
要获取 IronPDF 功能的完整列表,请访问IronPDF 功能.
DocRaptor提供了一整套功能,旨在实现可靠的HTML到PDF和HTML到Excel的转换。 以下是其一些关键功能:
IronPDF:
// Html to pdf c# code
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
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
// Html to pdf c# code
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
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
' Html to pdf c# code
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
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
DocRaptor:
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "html-and-javascript",
test: true,
documentType: Doc.DocumentTypeEnum.Pdf,
documentContent: System.IO.File.ReadAllText(@"html-and-javascript-content.html"),
javascript: true
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("html-and-javascript.pdf", document);
Console.WriteLine("Successfully created html-and-javascript.pdf!");
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "html-and-javascript",
test: true,
documentType: Doc.DocumentTypeEnum.Pdf,
documentContent: System.IO.File.ReadAllText(@"html-and-javascript-content.html"),
javascript: true
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("html-and-javascript.pdf", document);
Console.WriteLine("Successfully created html-and-javascript.pdf!");
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "html-and-javascript", test:= True, documentType:= Doc.DocumentTypeEnum.Pdf, documentContent:= System.IO.File.ReadAllText("html-and-javascript-content.html"), javascript:= True)
Dim document() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("html-and-javascript.pdf", document)
Console.WriteLine("Successfully created html-and-javascript.pdf!")
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
IronPDF 处理HTML 转 PDF轻松转换,完全支持现代Web标准,确保所有PDF文档呈现出像素级完美效果。 DocRaptor使用基于API的方法,需要API密钥和云端执行来将HTML转换为PDF。
IronPDF:
using IronPdf;
using System;
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
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;
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
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
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
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")
DocRaptor:DocRaptor 本身不支持 PDF 加密功能。
IronPDF 提供内置加密, 元数据和安全控制,而DocRaptor则需要第三方工具来实现类似功能。
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
DocRaptor 不支持编辑功能。
IronPDF 提供原生修订, DocRaptor 缺乏的法律和机密文件的重要功能。
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
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>");
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
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
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")
DocRaptor不原生支持PDF签名。
IronPDF 提供了一种内置机制来数字签名PDFs,使其在身份验证和法律文件方面具有优势。 DocRaptor缺乏这一关键功能,因此该库的用户需要下载其他库来执行此任务。
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")
DocRaptor:
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System;
using System.IO;
class DocRaptorExample
{
static void Main(string[] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentType: Doc.DocumentTypeEnum.Pdf,
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html")
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", document);
Console.WriteLine("Successfully created text-based-watermark.pdf!");
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System;
using System.IO;
class DocRaptorExample
{
static void Main(string[] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentType: Doc.DocumentTypeEnum.Pdf,
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html")
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", document);
Console.WriteLine("Successfully created text-based-watermark.pdf!");
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System
Imports System.IO
Friend Class DocRaptorExample
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "text-based-watermark", test:= False, documentType:= Doc.DocumentTypeEnum.Pdf, documentContent:= System.IO.File.ReadAllText("text-based-watermark-content.html"))
Dim document() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("text-based-watermark.pdf", document)
Console.WriteLine("Successfully created text-based-watermark.pdf!")
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
IronPDF 提供完整的水印功能,允许您仅用几行代码创建和应用自定义水印,这些水印可以应用于新的或现有的PDF文件。 然而,DocRaptor 需要在将 HTML 内容转换为 PDF 之前,使用 HTML 和 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")
DocRaptor 缺少在 PDF 上加盖文本和图像的原生功能。
IronPDF允许在进行详细定制时在文本和图像上盖章,使其成为文档注释和品牌推广的优选。 DocRaptor 缺乏对文本和图像加盖印章的任何原生支持,水印是最接近的功能。
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")
DocRaptor:
不支持将DOCX转换为PDF。
IronPDF 提供了更流畅和更本地化的处理过程,仅针对DOCX 转 PDF转换,无需使用像DocRaptor这样缺乏内置支持此任务的外部库。
要了解 IronPDF 提供的丰富功能集并查看其实际应用,请查看 IronPDF。如何操作指南深入探讨每个功能,探索其工作原理,并为您提供成为PDF专家所需的技能。
IronPDF拥有不同级别和购买许可证的附加功能。 开发者还可以购买Iron Suite让您以两个产品的价格访问Iron Software的所有产品。 如果您还没有准备好购买许可证,IronPDF提供一个免费试用这样您就可以在购买许可证之前探索其提供的所有功能。
IronSuite:您可以通过支付1,498美元获得所有Iron Software产品的访问权限,包括IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint和IronWebScraper.
DocRaptor根据使用情况提供多种定价选项。 起始价格为每月$15,这是一种基于使用的计费方式,意味着费用会随着您生成的文档数量而变化。 他们还提供免费试用,以便在订阅付费计划之前测试服务。
IronPDF在提供广泛文档和支持方面表现出色:
PDF API 参考: 提供 API 参考,让您充分利用我们的工具所提供的功能。
如需更多信息,请查看IronPDF的广泛内容。文档,并访问Iron Software YouTube 频道.
总之,两个IronPDF和DocRaptor提供从HTML生成PDF的强大解决方案,但它们针对不同的受众和项目需求。 IronPDF在与.NET环境的无缝集成中表现出色,提供广泛的自定义选项和离线处理能力。 它非常适合需要对 PDF 创建和操作进行精确控制的 .NET 框架开发人员。 另一方面,DocRaptor 以其基于云的模型脱颖而出,确保符合 PDF/A 标准,并提供简单的 API 以支持跨平台使用,是需要在多个编程语言中进行可靠且可扩展的文档生成的项目的理想选择。
最终,您在 IronPDF 和 DocRaptor 之间的选择应取决于您的开发栈、所需的控制程度以及您偏好云端解决方案还是本地部署解决方案。