Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iTextSharp vs iText

Tags:

asp.net

itext

I am re-engineering legacy ASP.Net Web Forms application that uses iText 1.4.6.2

New application will use ASP.Net MVC but I am not clear on newer version of iText component.

In NuGet repository there is iTextSharp 5.5.10 (by Bruno Lowagie et al) and iText 7.0.1 (by iText software). What is the relationship/difference between these two packages (both have been updated recently)?

ADDITIONAL QUESTIONS:

What is recommended for new development?

What version will require the least changes in legacy PDF generation code using iText 1.4.6.2?

like image 271
Joe Schmoe Avatar asked Feb 13 '17 19:02

Joe Schmoe


1 Answers

Releases

iText 7.x is the latest version of the library, and the comparison breaks down as follows as detailed in iText's changelog :

  • iText 0.x (Java) (2000-2006)
    • The very first version of iText was released on Valentine's Day 2000. That means that iText is 17 years old.
  • iText 1.x-2.x (Java) / iTextSharp 3.x-4.x (.NET) (2006-2009)
    • Versions of the library that are very popular, but that are no longer supported and should no longer be used in a commercial context (see Can iText 2.1.7 / iTextSharp 4.1.6 or earlier be used commercially?).
    • The last release of these versions dates from 2009 (iText 2.1.7 / iTextSharp 4.1.6.0).
  • iText 5.x (Java) and iTextSharp 5.x (.NET) (2009-2016)
    • In 2009, the license changed from the LGPL/MPL to the AGPL.
    • iTextSharp was designed as the .NET port of the library and the release numbers were synchronized at the moment iText 5.0.0 / iTextSharp 5.0.0.0 was released.
    • In Java, the library moved to Java 5.
    • It was the start of professionalization. The library was backed by a company and the revenue was used to focus on fixing bugs, standardization, and performance.
  • iText 7.x (Java & .NET) (2016-present)
    • A complete rewrite, focusing on extensibility and modularity.
    • We no longer talk about iTextSharp, we talk about iText for Java and iText for .Net (C#).
    • The Java version moved to Java 7.
    • Before, all code was manually ported from Java to C#. Starting with iText 7, Java code is automatically ported to C#.

iText vs iTextSharp

As you can tell from the historical overview, iTextSharp has always been kept in sync with iText, but before version 5, there was a difference in version numbers. Starting with version 7, the name iTextSharp is no longer used in favor of using the name iText.

iText 2.x (and earlier) vs iText 5.x

You can see a functionality comparison chart of the both iText and iTextSharp products below :

enter image description here

iText 5.x vs iText 7.x

iText 7.x appears to be a complete "from scratch" re-write of iText 5.x in order to make it more modular, configurable, and extensible.

You can find a blog post here that details many of the changes between iText 5.x and iText 7.x.

like image 175
Rion Williams Avatar answered Oct 11 '22 18:10

Rion Williams