← Back to context

Comment by _JamesA_

2 days ago

I stopped using iText back when it changed licensing because the developer wanted his government to pay to use it (or something like that). What ever happened with that fiasco?

The classname "lowagie" will live forever in the memory of Java developers, but we've all abandoned itext for the fork:

  https://github.com/LibrePDF/OpenPDF

  • For some context on that infamous classname, see https://stackoverflow.com/a/13515403 and https://entreprenerd.lowagie.com/

    As the commenters above note, the "upgrade" to AGPL was both highly profitable to Lowagie and caused many to shift to an open-source fork.

    IMO forks are the great leveler; if your brand strength and your ongoing investment in engineering + community make a license shift viable (and if you retain the trust of your contributors) then everybody wins... but if you make a license shift and just rest on your laurels, forks will destroy your value. I don't know enough about the history to know what happened in this case, but based on the successful exit, I imagine it's somewhere between these two extremes.

  • I thought most were using Apache PDFBox these days. Anyone have any thoughts on how the two libraries compare in 2025? I'm particularly interested in programatic creation of PDFs.

    I know historically PDFBox is a bit lower level whereas iText was a bit more user friendly, but that's not too big of a deal for me.

    • PDFBox is the GOAT of backend pdf libraries. We've built incredible things with it, plus pdfjs on the front-end - full compliant e-signature, templated pdf generation, in-browser pdf editing. Looked deeply at alternatives but very happy with our choice. In particular using itext vs pdfbox feels like using WordPress vs Rails - try to build anything very serious and you will be happier you picked the more capable, lower-level library.

    • I use PDFBox. There are some FOSS layout libraries you probably want to add one or more of, depending on your needs.

      It's disgustingly fast and capable. In one project we crunched out 150k PDF documents in less than forty minutes from roughly 6 GB input data, on a mid laptop, including a fair bit of other file types related to those documents.

      Fairly low level but not hard to get started with. You might have to wrap it in a module yourself if you're using those.

      2 replies →

JasperReports library used that library, and forked it at it's last LGPL version.