Published February 22, 2023
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:
- Discovery and Acquisition experience
- Licensing clarity
- Compatibility
- Getting Started experience
- Ease of use of the API for a C# developer
- Documentation quality including code samples and tutorials
- HTML to PDF capabilities
- CSS3 compliance
- HTML 5 compliance
- JavaScript compliance
- Generation Form support
- Fidelity of rendering
- Technical Support
- 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
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

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

Figure 2 - Aspose.PDF Language Selector

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

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

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:

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.

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:
Inclusion | IronPDF | Syncfusion | AsposePDF | iText |
---|---|---|---|---|
1 website 1 developer 1 location Support | $749 | $2,495 | $5,394 | |
10 websites 10 developers 10 locations Support | $1,499 | $13,990 | $28,771 | |
Unlimited websites Support | $2,999 | N/A | $25,785+ (per year) |

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

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.

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.

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.
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.

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.

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:

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.

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)
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.

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

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

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

Figure 19 - SyncFusion Rendering of the Static Site.
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:

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.

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:

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.
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:

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

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.

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.

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.