Test in a live environment
Test in production without watermarks.
Works wherever you need it to.
PDF (Portable Document Format) files are an integral part of many different work environments, and they're often essential when it comes to tasks such as making invoices or preparing product documentation. However, nowadays there are many different PDF tools available on the market so how do you know which one is suitable for you? Today, we will compare the features, support, and licensing models of the PDF libraries: PDFreactor and IronPDF.
IronPDF is a robust .NET library that is designed to be a comprehensive solution for all PDF-related tasks within the .NET ecosystem. It supports HTML, CSS, JavaScript, and various image formats, making it highly adaptable for web-based applications. With a wide range of features, including PDF generation, editing, signing, and encryption, along with complete integration with modern .NET frameworks, IronPDF is a one-stop PDF solution for .NET developers.
PDFreactor, on the other hand, is a professional-grade HTML to PDF converter that excels in delivering high-quality print-ready PDFs, often used to convert documents such as data-driven documents reports, or data sheets. It is particularly strong in handling complex CSS and JavaScript, ensuring that the resulting PDFs are true to the original web content. It is highly regarded for its ability to handle complex layouts and styling with ease, making it suitable for publishing and other industries requiring precise control over PDF output.
IronPDF supports a wide range of platforms, ensuring that you can work in your preferred environment. Here’s a breakdown of its compatibility:
.NET versions:
(C#, VB.NET, F#)
.NET Core (8, 7, 6, 5, and 3.1+)
.NET Standard (2.0+)
App environments: IronPDF works in environments including Windows, Linux, Mac, Docker, Azure, and AWS
IDEs: Works with IDEs such as Microsoft Visual Studio and JetBrains Rider & ReSharper
For more information, visit IronPDF Compatibility.
.NET versions:
.NET Core 2.1+
Supports: HTML5, CSS3, JavaScript, Java, Python, Docker Image, Node.js, and more.
HTML to PDF conversion: IronPDF can handle HTML to PDF conversion, with its full support for modern web standards, you can be assured that IronPDF will consistently return pixel-perfect PDFs from your HTML content.
PDF file conversion: Need to convert file formats other than HTML to PDF? IronPDF supports the conversion of many different file formats including; DOCX to PDF, RTF to PDF, Image to PDF, URL to PDF, and even PDF to HTML, all while maintaining the desired document structure.
Security features: With IronPDF, you can always be assured that any sensitive PDF files are secure thanks to its security features. Use IronPDF to encrypt your PDF files, set passwords, and set permissions for your PDF files.
For detailed feature information about the features offered by IronPDF, visit IronPDF Features.
HTML to PDF conversion: PDFreactor web service specializes in the server-side conversion of HTML to PDF, typically used in the conversion of dynamic data-driven documents (such as invoices forms, reports, etc) and for electronic distribution of complex and high-quality PDFs.
Interactive support: Thanks to its support of JavaScript, PDFreactor supports embedding interactive elements such as buttons and forms, which can retain their functionality within the PDF.
Now, let's take a closer look at some common use cases that you might find yourself facing when working with PDF files. In this section, we are taking these use cases and comparing how IronPDF and PDFreactor handle them.
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")
PDFreactor:
using System.IO;
using RealObjects.PDFreactor.Webservice.Client;
PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
Timeout = 0
};
var config = new Configuration
{
Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};
Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
FileMode.Create,
FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();
using System.IO;
using RealObjects.PDFreactor.Webservice.Client;
PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
Timeout = 0
};
var config = new Configuration
{
Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};
Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
FileMode.Create,
FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();
Imports System.IO
Imports RealObjects.PDFreactor.Webservice.Client
Private pdfReactor As New PDFreactor("https://cloud.pdfreactor.com/service/rest") With {.Timeout = 0}
Private config = New Configuration With {.Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"}
Private data As Result = pdfReactor.Convert(config)
Private binWriter As New BinaryWriter(New FileStream("test.pdf", FileMode.Create, FileAccess.Write))
binWriter.Write(data.Document)
binWriter.Close()
IronPDF provides high-fidelity PDF files thanks to its use of ChromePdfRenderer and its support for modern web standards. When using IronPDF for HTML to PDF conversion, you will be able to create pixel-perfect PDFs from HTML documents, web pages, and more. While PDFreactor prides itself on its HTML to PDF conversion capabilities and provides high-quality PDF documents, it takes a more manual approach that requires more lines of code.
For more examples of using IronPDF for HTML to PDF conversion, visit IronPDF HTML to 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")
PDFreactor:
PDFreactor, due to it being known primarily as an HTML-to-PDF conversion tool, does not offer any built-in support for PDF encryption.
IronPDF simplifies PDF encryption with clear C# methods and offers a straightforward, yet powerful, tool for encrypting PDFs. With IronPDF, you will have full control over the entire process, right down to setting security settings. With PDFreactor, you will need to find a third-party library that can handle the PDF encryption task as PDFreactor does not currently support it.
For more encryption examples, visit the IronPDF how-to guide on this topic.
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")
PDFreactor:
PDFreactor does not support redaction directly, as its feature set leans more heavily into generating PDF documents from HTML content and designing these PDFs.
IronPDF provides you with a concise and easy-to-use redaction tool, that will have you redacting content within your PDF documents with just a few lines of code. PDFreactor, however, does not offer any built-in redaction tools.
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");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
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")
PDFreactor:
PDFreactor does not support digital signing directly.
IronPDF's digital signature feature provides you with a straightforward, easy way of automating the way you sign PDFs. Whereas PDFreactor does not offer any support for applying digital signatures to your PDF documents.
For more on applying digital signatures to PDF documents with IronPDF, visit the how-to guide on this tool.
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")
PDFreactor:
PDFreactor does not support watermarking directly.
IronPDF's built-in watermark tool makes use of HTML and CSS to provide an easy way of applying watermarks to your PDF pages, while simultaneously giving you full control over the entire process, all while using only a few lines of code.
Want to see more of IronPDF's watermarking tool? Visit our helpful how-to guide on this tool!
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");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/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 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");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/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 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")
' Create image stamper
Dim imageStamper As New ImageStamper(New Uri("/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
PDFreactor:
PDFreactor does not support stamping directly
IronPDF offers a robust tool for stamping text and images onto your PDF documents. With an approach that closely resembles HTML and CSS, you will have total control over the stamping process. PDFreactor, however, does not offer any built-in stamping tools.
If you want to learn more about IronPDF's image and text stamping tools, be sure to visit our how-to guide.
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")
PDFreactor:
PDFreactor does not support direct DOCX to PDF conversion, as its main focus is on HTML to PDF conversion.
Using IronPDF, you can convert your DOCX files with its concise, easy-to-use DOCX conversion tool. When using PDFreactor, you would need to install a DOCX to PDF conversion library to handle the conversion as PDFreactor doesn't have any support for this conversion.
For a more detailed look at IronPDF's DOCX to PDF conversion tool, visit the helpful how-to guide on it.
For detailed code examples, visit the IronPDF Code Examples Page.
IronPDF has different levels and additional features for purchasing a license. Developers can also buy Iron Suite which, gives you access to all of Iron Software’s products at the price of two. If you’re not ready to buy a license, IronPDF provides a free trial that lasts 30 days.
CPU License: This is the base cost for PDFreactor, and is priced at $2,950 which supports up to 4 CPU codes and includes the first year of support and maintenance.
IronPDF excels in providing extensive documentation and support:
For more information, check out IronPDF's extensive documentation, and visit the Iron Software YouTube Channel.
When it comes to HTML to PDF conversion, IronPDF and PDFreactor are both strong contenders, both are fully capable of creating PDF documents from HTML content. However, if you're looking for a PDF tool that can handle more complex tasks such as encryption, watermarking, and converting file types other than HTML to PDF, then IronPDF is the tool for you.
With its extensive feature set, compatibility with modern .NET frameworks and excellent support, IronPDF is a powerful tool to have at your fingertips. PDFreactor, while powerful in its niche, lacks some of the advanced features and flexibility offered by IronPDF.
You can try the 30-day free trial to check out their available features.
9 .NET API products for your office documents