Product Comparisons with IronPDF

This article was written by Jeff Fritz, a well-received authority in .NET Development.

In this article, Jeff reviews and compares the IronPDF library with three other leading PDF libraries for C#.NET: Aspose, SyncFusion, and iTextPdf


Introduction

I am investigating the entire developer experience interacting with three commercial PDF management products for developers and comparing them to the IronPDF experience. We will compare and rate each product on the following areas:

  1. Discovery and Acquisition experience
  2. Licensing clarity
  3. Compatibility
  4. Getting Started experience
  5. Ease of use of the API for a C# developer
  6. Documentation quality including code samples and tutorials
  7. HTML to PDF capabilities
    1. CSS3 compliance
    2. HTML 5 compliance
    3. JavaScript compliance
    4. Generation Form support
    5. Fidelity of rendering
  8. Technical Support
  9. Release cadence and feature development

We will conclude with a final scorecard for the tools.

Discovery and Acquisition

Developers have a world of PDF products to choose from. How can they separate the products and choose the right one for their project. C# developers look in 3 primary places when researching software tools: search engines, GitHub, and NuGet. We'll search for "PDF Software C#" on DuckDuckGo, a private search engine and look for these PDF tools on GitHub as well as NuGet.org. NuGet is the .NET package repository

Table 1. Acquisition from typical discovery engines

Product

DuckDuckGo

GitHub

NuGet

IronPDF

5

Not found

5

Aspose

22

37

3

SyncFusion

49

N/A

8

iTextPDF

Not found

40

7

Notes: I limited the search at the first 100 results on each service and was unable to locate IronPDF's GitHub repository as well as the iText website on DuckDuckGo. SyncFusion does not have a GitHub repository with PDF creation samples.

Acquisition

Each of the products has a different approach to product acquisition from their websites.

IronPDF makes it clear with a download button on the front page

Product Comparisons with IronPDF, Figure 1: IronPDF Download Discovery

Figure 1- IronPDF download discovery

The download buttons routes to NuGet.org and the standard .NET package installation instructions.

Aspose has a click through on the front page where you must choose a language, and then you are presented with details about that version of the product and a download button

Product Comparisons with IronPDF, Figure 2: Aspose.PDF Language Selector

Figure 2 - Aspose.PDF Language Selector

Product Comparisons with IronPDF, Figure 3: Aspose.PDF Download Discovery

Figure 3 - Aspose.PDF C# Download Discovery

Aspose will then prompt you to download the tools with a page that contains NuGet instructions and several paragraphs of promotional material

Product Comparisons with IronPDF, Figure 4: Aspose Download Page

Figure 4 - Aspose Download Page

SyncFusion has their PDF management library filed under "Document Processing - PDF". Their subsite looks like the following:

Product Comparisons with IronPDF, Figure 5: SyncFusion PDF Discovery

Figure 5 - SyncFusion PDF Discovery

You must then fill out a form to create an account on their website complete with email address, phone number, and company name. SyncFusion verifies your email with a text message and then allows you to download an installer for their software. You can also install a trial package from NuGet, but they say the installer providers the "full product". In the days following sign-up for SyncFusion's website, I have received 2 emails and 2 phone calls offering to help get started. The emails and phone calls were friendly in tone, however I found the phone calls to be a little invasive.

iTextPDF makes it clear with one product and one link to their product:

Product Comparisons with IronPDF, Figure 6: iTextPDF Discovery

Figure 7 - iTextPDF Discovery

The download screen provides three options to download, with requirements to sign up with phone number, email, job title, and company name.

Product Comparisons with IronPDF, Figure 7: iText Download Screen

Figure 7 - iText Download Screen

I found the volume of choices from iText overwhelming and wasn't sure what to download. I chose iText 7 and was then lead to another screen to choose from nine PDF-related products to download. Once again, I found this confusing and left me unsure of which libraries and tools I needed for my project.

I was sent a follow-up email from iText with a link to their customer portal and a generated password. I attempted to use their portal site with the credentials provided but was unable to access the site.

Licensing Clarity

With any library that a developer downloads, the licensing will determine if and how they can use the product with their project. A more permissive license will allow the tool to be shipped with a mobile or desktop application, and more restrictive licenses can limit the use of the tool to running only on a protected server.

IronPDF provides a clear button on the front page, next to the 'Free NuGet Download' button that links to the licensing terms. The resultant page makes it very clear how many developers are covered and the number of projects the product can be used with. There is a restriction on the number of offices an organization has. Redistribution of the software as a SaaS product or native application requires an additional licensing fee.

Aspose has 6 different licensing models available, packaged with no support, support, or with support and consulting. I found their options quite confusing, as there are also limitations on what types of projects you can use the product with, the number of developers licensed, and the size of the organization.

Public facing website projects including support:

Table 2 - Pricing Comparison

Inclusion

IronPDF

Syncfusion

AsposePDF

iText

1 website 1 developer 1 location

Support

$749

$2,495

$5,394

10 websites

10 developers

10 locations

Support

$2,999$13,990$28,771

Unlimited websites

Support

$2,999

N/A

$25,785+ (per year)

Product Comparisons with IronPDF, Figure 8: Aspose Licensing Model

Figure 8 - Aspose Licensing Model

SyncFusion has a one time fee for their File Formats product that includes support for all of the .NET application types. The fee is charged per developer, with a rate reduction for the second year of a contract. There is no limitations based on size of an organization, or the number of projects that the product is used with. They also have a free community license available for startup stage companies

Product Comparisons with IronPDF, Figure 9: SyncFusion Licensing

Figure 9 - SyncFusion Licensing

iText has several products available that are open source, but they make it appear that you need to buy a license to use the product.

Product Comparisons with IronPDF, Figure 10: iText Open Source Product

Figure 10 - iText Open Source Product

The option to purchase a commercial license leads to a screen with no purchasing options immediately listed. There is a configuration tool that you must complete with information about your location, language, usage volume and products you would like to use. The tool then gives a quote for the commercial license.

Product Comparisons with IronPDF, Figure 11: iText License Configuration Tool

Figure 11 - iText License Configuration Tool

If the product is available open source, can I just use that without any commercial support options? It's not clear until you click through to their iText 7 Community site and discover that it is covered under the AGPL license which requires you to release the source code of applications you write that use their library in this model. It's an interesting option, but could confuse developers

Compatibility

With the different deployment models available for each product, there are different levels of compatibility that are promised on each website. More research is necessary to determine compatibility with different hosting providers and hosting tools like Docker.

Table 3 - Compatibility promised on website

Environment

IronPDF

Aspose

SyncFusion

iText

COM

Yes

.NET Framework

Yes

Yes

Yes

Yes

.NET 5

Yes

Yes

Yes

.NET 6

Yes

Yes

Yes

.NET Standard

Yes

Yes

Yes

Xamarin

Yes

Yes

MAUI

Yes

Azure

Yes

AWS

Yes

Yes

%Mac

Yes

Linux

Yes

Docker

Yes

Aspose is the only product that claims to work with COM applications, typically a legacy need for developers. iText does not list their supported platforms on their website, and a scan of their NuGet packages indicates support for the platforms indicated. SyncFusion lists support for several user-interface frameworks but not specific runtime versions. iText was the only product besides IronPDF to claim support for a cloud service, with a banner highlighting support for AWS.

Product Comparisons with IronPDF, Figure 12: iText Support on AWS

Figure 12 - iText Support on AWS

Getting Started Experience

I reviewed each of the products and their 'Getting Started' experience as outlined on their websites. This is the "build your first app with the product" directions for each of these products.

IronPDF

I was able to install and get started with a sample version of IronPDF using NuGet, and one line of code. Very handy, and did not clutter my system.

The IronPDF sample at https://ironpdf.com/ works with a simple console or native application using .NET 6 and earlier. It creates and loads a new PDF with a simple "Hello World" block of text, completing a 5-line code sample with writing out the file.

The sample code is clear and works nicely with .NET 6 / C# 10 formatting. The online code-block has a "copy to clipboard" button that makes it a snap to run.

The file is written into the bin/ folder under the project, and for a quick sample it works. I would have liked to have had it written next to the code file I just wrote as some folks might not know to look in the bin/ folder for content.=

Aspose

I had to install a large download, 217MB in size, to start using the Aspose libraries on my system. This didn't install any applications, but just placed the libraries for Aspose on disk.

The Aspose sample is in their docs under a 'Get Started' section, making it a little harder to locate. The code sample at https://docs.aspose.com/pdf/net/hello-world-example/ includes some prose around it that explains what the code is attempting to do and feels a little repetitive with the comments in code.

The Aspose sample does not work as written and needs to be improved. In my review of their product, I ran into the following problems:

  • The .NET 6 library is delivered as a DLL and stored on disk in C:\Program Files (x86)\Aspose\Aspose.PDF for .NET\Bin\net6.0 -- This is not how .NET developers load libraries in 2022, instead preferring NuGet packages
  • There are no directions indicating how to add the reference, and which references to add.
  • When I added a reference to the one Aspose.Pdf.dll file, the project code presented on the page did not compile.
    • I added the missing using statements and tweaked the code to get it to compile and it could not run due to other missing references
  • The project attempts to write to a 'Samples' folder. In my attempt to get this project working, I didn't have this folder on disk and my sample project crashed due to the folder not existing
  • The sample PDF generated contains a 'Hello World' block of text and has a fuchsia watermark on it indicating that it was a demo version of the software

SyncFusion

I had to download a large 874MB file to get started, and the installation required me to login to a Syncfusion server to extract and work with the libraries. The installer created a 'Control Panel' application that allowed me to navigate around a number of demos on disk.

Product Comparisons with IronPDF, Figure 13: SyncFusion's contorl Panel Application

Figure 13 - SyncFusion's Control Panel Application

SyncFusion's demo is located about halfway down their product page at https://www.syncfusion.com/document-processing/pdf-framework/net with a blue background and light blue text on it. According to Lighthouse, this is low contrast and not accessible to some users.

I pasted the Syncfusion code into Visual Studio and was unable to have Visual Studio generate an appropriate "using statement" for the objects referred to in the demo code. In fact, when I asked Visual Studio to attempt to locate and generate a using statement, it referred me to install a competing package:

Product Comparisons with IronPDF, Figure 14: Visual Studio Suggesting that I Install iTextSharp to use SyncFusion

Figure 14 - Visual Studio Suggesting that I Install iTextSharp to use SyncFusion

The code for SyncFusion's sample did nothing as presented on screen. The demo code writes a PDF into a MemoryStream, an object that manages file contents in-memory. I modified the code to write to a file on disk, and it properly generated a file that contained "Hello World".

iText

The iText demo is written in a clear code-editor in the middle of their product home page. https://itextpdf.com/products/itext-7/itext-7-community Unlike the other demos, iText included a link to see the generated PDF for this code.

I was required to download an installation package from their customer portal, and a day after signing up I received an email at 5am with instructions to sign up. The credentials did not work, and I instead downloaded and installed the community packages available on NuGet.

The sample code provided for iText7 does not work as written. This code is also missing a handful of using statements but once they were added the application did generate a PDF file and write it to the bin/ folder of the project.

Ease of Use for a C# Developer

This review element investigates the API and interactions that developers will have with the library. Each of these tools has several ways to create and interact with PDF documents. Let's take a look at each.

Documentation

The documentation for the product is what will make or break it in the long-term with developers. As they dive in and need more advanced features, how quickly can they find that material and are there samples provided that help teach these concepts.

In each of these products, I searched their API documentation for the ability to add digital signatures to a PDF.

IronPDF

The API documents are clear and well organized with a left panel table-of-contents with a live filter. The search box in the top-right also includes a live filter, and quickly returned several articles about the various components that provide Signature features. The API site has a light and dark mode, a nice feature developers prefer.

Product Comparisons with IronPDF, Figure 15: IronPDF API Search Results for Signature

Figure 15 - IronPDF API Search Results for Signature

The PdfSignature class document describes the object but does not include any links to sample code. I searched the ironpdf.com website for "signature" and found sample code that references the PdfSignature object at https://ironpdf.com/examples/digitally-sign-a-pdf/

Aspose

The Aspose API docs linked me to their PdfFileSignature class when I searched for Signature. This page, like IronPDF's shows the details of the PdfFileSignature class, but does not include any links to demos or describe how to use the class.

I returned to the Aspose documentation base page at https://docs.aspose.com/pdf/net/ and searched for signature. I was then presented with a list of relevant articles and clicked through to the 'Add Signature in PDF file" article at https://docs.aspose.com/pdf/net/add-signature-in-pdf/

SyncFusion

SyncFusion's base documentation page for the PDF file formats product is at https://help.syncfusion.com/file-formats/pdf/overview and took a few clicks through their site to find it. I didn't have to look far to find the signature sample as the front page of the documentation.

There are no API documents that support the digital signature feature available on the SyncFusion site.

iText

The API documentation for iText is very thorough and generated from each released version. It's a standard look and feel that you'll see from other libraries on the internet. Searching for signature found a few classes with some great descriptions around those features, but again no links to samples.

I searched the iText website for a Signature sample and was not able to locate one, and instead was presented with several blog articles announcing new partnerships

API

The API made available by each of the tools is very descriptive and each takes their own approach to giving the developer full access to creating and managing the content of a PDF document. Thankfully, all of the frameworks have complete autocomplete hints that provide great in-line documentation as you work with their tools in a modern code editor like Visual Studio or Visual Studio Code that provides autocomplete capabilities.

IronPDF

The IronPDF APIs make very difficult and complex interactions easy to do with simplified commands like "RenderHtmlAsPdf" but still provide deep access to the creation and placement of content, security, metadata and forms of the document. As a developer, these APIs "speak to the way that I think" about rendering content.

The names and terms used by the IronPDF APIs make it clear you are rendering a document or building a document. Time properties on some of the settings are integers representing milliseconds where I would have preferred a native TimeSpan type. Finally, I would like to see Settings and Options types provided with a modern fluent configuration API like this:

var Renderer = new IronPdf.ChromePdfRenderer(options =\> {
  RenderDelay = TimeSpan.FromSeconds(1)
});
var Renderer = new IronPdf.ChromePdfRenderer(options =\> {
  RenderDelay = TimeSpan.FromSeconds(1)
});
options =\> { RenderDelay = TimeSpan.FromSeconds(1) }
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: var Renderer = new IronPdf.ChromePdfRenderer(options =\> { RenderDelay = TimeSpan.FromSeconds(1) });
Dim Renderer = New IronPdf.ChromePdfRenderer(options)
VB   C#

SyncFusion

SyncFusion APIs are clear and give very descriptive control over how to interact with their converter tools. There are no shortcuts here, everything is required, and you must tell it which tools you are using with no defaults available. The Settings are extensive with fine-grained control over everything, including the location of the WebKit renderer on disk.

This extra configuration, while not needed in some installations, has caused problems for folks in the past and in future versions SyncFusion promises is not a problem.

Aspose

The Aspose API is extremely verbose and it makes me wonder if they are trying to make developers more productive at all. The amount of configuration needed to load a document from a website is astounding, 10 lines of code or twice as many lines as SyncFusion (5).

One example of this is that Aspose doesn't have APIs to allow you to specify a URL to fetch and convert.

iText

iText has a similar API to Aspose, very verbose and allows direct interaction with writing into the document with different data types, but its not clear how to create sections of the document. With how explicit the APIs are and the low quality of the documentation, working with iText is difficult at best.

HTML to PDF

I next wanted to text the rendering and speed capabilities of each tool at converting HTML content to a PDF. I've written some code that is available from my GitHub repository that you can review to learn more about how I performed each of these tests. I've also stashed a copy of each of the result PDFs there for you to review. I'll test each product for:

  • Ease of converting a page from a static website that delivers straight HTML. We'll use the KlipTok static website used to power search engine consumption of the Twitch clip website KlipTok.com. This website being targeted lives at: https://kliptokaspnetcore.azurewebsites.net/ and does not have any rendering that requires a browser
  • Rendering of ESPN.com, a site with a lot of JavaScript and CSS 3 that delivers the home page of the site
  • Rendering of a form on a local site to test the use and presentation of each of the fields in the resultant PDF

Scenario 1: Static Website tests

The reference website is very simple with no CSS and just text with links and images.

Product Comparisons with IronPDF, Figure 16: The reference website for Static Web Tests

Figure 16 - The reference website for Static Web Tests

IronPDF

This was a simple 3 lines of code to execute, and the performance looked good at 835ms. However, when I opened the PDF, I found that none of the images were included in the rendering, disappointing result with the default configuration.

After a little exploring, I learned that I could add a render delay, and with this configuration I was able to render a PDF that included the proper images on the page.

With the test version of the tool, there is a watermark that is included in the rendered PDF. In the fully licensed version, this watermark is not present

Product Comparisons with IronPDF, Figure 16: The reference website for Static Web Tests

Figure 17 - IronPDF Rendering of the Static Site

SyncFusion

SyncFusion was a curious and confusing trip. Their documentation refers to several different ways to render and deliver HTML and PDF with different version numbers and different frameworks requiring different code and configurations as well as installs of binary tools in order to function properly.

Like the IronPDF demo, SyncFusion did not render the images for the page and delivered a PDF with very small margins.

With the test version of the tool, there is a watermark that is included in the rendered PDF. In the fully licensed version, this watermark is not present

Product Comparisons with IronPDF, Figure 18: SyncFusion Rendering of the Static Site

Figure 18 - SyncFusion Rendering of the Static Site.

Aspose

Aspose has a very clear set of directions about how to use their tools. However, based on the instructions on their website for converting a website to a PDF, they have a significant bug that prevents the feature from working. Additionally, their online tool that converts a website to a PDF no longer functions.

iText

iText's documentation is not as easy to find and we had to read an eBook to get the sample code we were looking for to run this sample. With no code changes, no additional configuration and 4 lines of code we rendered a very good-looking PDF with no watermarks and good margins

Product Comparisons with IronPDF, Figure 19: iText Rendering of the Static Site

Figure 19 - SyncFusion Rendering of the Static Site.

Table 4- HTML to PDF for a Static Site Performance Comparison

Tool Used

Speed in milliseconds (lower is better)

IronPDF

835ms

SyncFusion

1799ms

Aspose

N/A

iText

2975ms

Scenario 2: Full media website – ESPN.com

For this test, we're using ESPN.com, a sports website that has a lot of CSS, images, and JavaScript on the page. Given that Aspose did not function for the simple test, we will skip them going forward. We will use the same code that we utilized for the last demo to create these captures, just substituting the website address.

For reference, here the appearance of ESPN at the time of this test:

Product Comparisons with IronPDF, Figure 20: SyncFusion Rendering of the Static Site

Figure 20 - Full rendering of ESPN.com in the browser

The scores on the top and the report of the state of the game in the middle of the screen are placed with JavaScript and all positioning and colors are handled with CSS3.

IronPDF

The IronPDF rendering was able to faithfully duplicate and load the dynamic content, however it appears as though the page was rendered for a mobile device with content elements broken out into separate segments and tiled.

Product Comparisons with IronPDF, Figure 21: IronPDF Rendering of ESPN

Figure 21 - IronPDF Rendering of ESPN

SyncFusion

SyncFusion performed a similar 'mobile style' rendering with content tiled vertically. However, we have lost several images that were dynamically loaded by the ESPN site and some of the font formatting is also lost:

Product Comparisons with IronPDF, Figure 22: SyncFusion Rendering of ESPN

Figure 22 - SyncFusion rendering of ESPN

iText

For this test, iText refused to run and was throwing a NullReferenceException, preventing it from attempting to render the website.

Table 4 - HTML to PDF for a Complex Site Performance Comparison

Tool Used

Speed in milliseconds (lower is better)

IronPDF

835ms

SyncFusion

1799ms

Aspose

N/A

iText

2975ms

Form Based Website

The final test is to generate a PDF with form entry fields based on a website. The simple newsletter sign-up form I wrote is available in the GitHub repository and renders with Bootstrap 5 in Firefox like so:

Product Comparisons with IronPDF, Figure 23: Form Website in Firefox

Figure 23 - Form Website in Firefox

Note: the State is a combobox, the Phone field is a telephone field, the Email is an email field, and the Shoe Size is a number field.

IronPDF

Iron really shines in this test, rendering quickly in a similar mobile-friendly layout as evidenced by the hamburger menu button in the top right. The watermarks across the page are annoying in a test version, but removed in the fully licensed version.

All of the textbox fields are rendered as PDF form fields that I can interact with, except the radio buttons and checkbox at the end. The textboxes have no particular validation or content enforcement on them as they do in the browser

Product Comparisons with IronPDF, Figure 24: IronPDF Rendering of the Form

Figure 24 - IronPDF Rendering of the Form

SyncFusion

SyncFusion rendered what appears to be the full desktop version of the website, as there is no hamburger menu button present. The form elements rendered appear as the squares, buttons, and boxes on the screen but none of them are standard PDF data entry fields. The links on the header and footer, while obscured by the watermark, are clickable.

Form Site Rendered by SyncFusion, Figure 25: Form Site Rendered by SyncFusion

Figure 25 - Form site rendered by SyncFusion

iText

iText was easily the fastest of the three frameworks at rendering the content. However, that speed came at a price. Their rendering did deliver anchor tags that navigated when clicked, but did not reach the original website. All formatting from bootstrap was lost, and all form fields were rendered as plain boxes.

Form Site Rendered by SyncFusion, Figure 26: Form Site Rendered by iText

Figure 26 - Form site rendered by iText

Tool Used

Speed in milliseconds (lower is better)

IronPDF

835ms

SyncFusion

1799ms

Aspose

N/A

iText

2975ms

Technical Support

Each of these frameworks has separate support capabilities available and release cadence. For a viable, currently developed and growing framework that will support more of the PDF standard, we would like to see online support available and regular release schedules.

IronPDF

From the NuGet website, it appears that IronPDF has a release once every 2-4 weeks. There are live chat and email support options available. It would be nice to see an online forum or a Discord / Slack server to chat with support and other members of the IronPDF community.

SyncFusion

According to NuGet, they release an update of their PDF libraries once a week. SyncFusion has online forums, and an online support ticketing system. There are no live chat support options from SyncFusion.

Aspose

According to NuGet, Aspose.PDF releases once a month. They offer a free helpdesk, a paid helpdesk, and paid consulting. I do not see any live interactions or community interactions available.

iText

NuGet reports that iText updates their packages once every 2-3 months. Their only support available is through an online JIRA issue tracker and a "contact us" form. There are no live interactions or hosted forums available.

Final Scorecard

From each section of this document, I ranked the products against each other with 4 being the highest ranked.

Category

IronPDF

Aspose

SyncFusion

iText

Discovery

3

4

2

1

Acquisition

4

3

2

1

Licensing

3

2

4

1

Compatibility

4

1

2

3

Getting Started

4

1

2

3

API

4

2

3

1

Documentation

4

4

3

2

Render Websites

4

0

3

2

Support

3

4

2

1

Total

(higher is better)

33

21

23

15

Notes:

  • In Discovery, the lack of a clear sample library on GitHub put Syncfusion last, and I prioritized the ability to find the product on the search engine above finding it on GitHub.
  • Acquisition was clear from IronPDF with one button that lead immediately to a download page. The others had various levels of sign-up and process to find the library you needed. iText had the most confusing process and too many options in the end
  • Licensing was very clear for Syncfusion while Aspose and IronPDF had several limitations. The volume of choices for Aspose put it 3rd while the confusing open source / commercial options with the need for a tool to calculate your license put iText last
  • Compatibility is a little confusing based on the claims on the websites. IronPDF provides claims of functioning on the various clouds, and the other tools make no such claims. More investigation is needed during the testing process to determine if the 3 tools can be run in these environments.
  • Getting Started ranked IronPDF first, as their code worked as is with no modifications. iText needed some minor updates, and Aspose did not work at all and I had to completely rewrite the sample.
  • The API structure provided by IronPDF is clear and allows developers to work at a very productive "give me the defaults and you figure out the rest" approach. SyncFusion provides a similar approach, but starts to get verbose. Aspose and iText are very verbose in their API, and the lack of good documentation pushed iText to the bottom of my ratings
  • The Documentation scores are marked as IronPDF and Aspose having tied for the best experience as they had the same features, while SyncFusion and iText were both missing samples or API documentation. SyncFusion gets a slight edge with the thorough content on their docs site.
  • The render websites test found that while iText was the fastest, it was not able to replicate the appearance of the site passed to it. IronPDF was able to deliver full CSS and JavaScript fidelity with interactive form fields while SyncFusion had JavaScript rendering, some CSS capabilities but no interactive form fields.