6

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?

Joe Schmoe
  • 1,574
  • 4
  • 23
  • 48

1 Answers1

22

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

Amedee Van Gasse
  • 7,280
  • 5
  • 55
  • 101
Rion Williams
  • 74,820
  • 37
  • 200
  • 327
  • 1
    Thanks @AmedeeVanGasse. I've updated the answer to add a few details regarding the various versions and their releases, along with references from iText's site. Please let me know if anything is completely off base as you would know this better than I. – Rion Williams Feb 13 '17 at 23:21
  • I work for iText, and while there are still a few details off, I approve of your edited answer and I'll see if I can adjust the last few details in the morning. – Amedee Van Gasse Feb 13 '17 at 23:43
  • Concerning the versions before itext 5 and itext 5: http://stackoverflow.com/a/13515403/1729265 http://stackoverflow.com/a/24329456/1729265 – mkl Feb 14 '17 at 05:32
  • 2
    Thank you for your answer, @RionWilliams I have slightly updated your answer. I hope you don't mind. (I also up-voted it.) – Bruno Lowagie Feb 14 '17 at 08:29