Friday, January 23, 2009

Apache PDFBox status update

The PDFBox project is a well known and widely used Java library for reading and writing documents in the Portable Document Format (PDF). Here's my perspective on the recent developments of the project.

Apache PDFBox

Project activity

The project was quite dormant when it entered the Apache Incubator about a year ago after we had discussed the idea first at the ApacheCon US 2007 and then on the Incubator mailing list. For a while it looked like project would remain quiet, but in the past few months we've seen a clear increase in project activity. Thanks for that goes especially to the contributions of the two new committers, Andreas Lehmkühler and Brian Carrier.

License review

My main focus in Apache PDFBox has recently been the thorough license review that I've been conducting. Before entering the Incubator, the PDFBox library was liberally licensed under a  BSD License. However, the copyright or licensing status of many external components included in PDFBox was neither well documented nor well understood by downstream projects. For example, PDFBox used to contain parts of the Java Advanced Imaging (JAI) library that is only available under the Sun Binary Code License, a license that is not compatible with Apache policies.

The license review has taken me through a number of legal issues, put me in contact with the Adobe legal team, and made me solve some followup issues. And we also took care of proper export control notifications needed for the PDF encryption support in PDFBox. Luckily the end is finally in sight, and I'm optimistic about having all the remaining open issues closed within a month or so. Altogether it's been a very interesting and educational process.

Next release

With the license review nearing completion and lots of unreleased fixes and improvements accumulating in the project trunk, it is time to start preparing for the first incubating PDFBox release. This release will be called Apache PDFBox 0.8.0-incubating, and will be a major improvement over the 0.7.3 release from over two years ago. All downstream projects should seriously consider upgrading as soon as the release becomes available. It would be really great if the release was out by the ApacheCon Europe at the end of March.


As a mentor and champion of the project I am really happy with the current status. It seems reasonable to expect PDFBox to graduate from the Incubator sometime later this year.


  1. Great! Where can I get 0.8.0-incubating??

  2. Currently you need to build it from trunk... We're still working on getting the last bits together for the official 0.8.0-incubating release.

  3. Hi Sorry for asking, may I know what is the requirement for me to run PDFBox? Yesterday I was download the library then try to run PrintPDF class, but some how the print result is going crazy (some blank, some missing text) it is just me?

    Can you kindly give me some clue regarding to this problem thanks..


  4. You should ask the mailing list for help.

  5. Is there an estimated date for the release of 0.8.0-incubating ? Thanks !!

  6. [...] incubating Apache PDFBox project is just about to release the eagerly anticipated 0.8.0 release. I’m expecting to see the release announcement on Tuesday next week. PDFBox is [...]

  7. > Is there an estimated date for the release of 0.8.0-incubating?

    We're finally at a point where I'm confident enough to give you an accurate estimate. The release will be out next week.

  8. I saw that the 0.80-incubating was out for java, any idea on when the .net version will be released?

  9. The 0.8.0 release only contains a pre-compiled Java binary in addition to the released source code. To get a .NET binary, you'll need to compile the release yourself with IKVM.

    If there's enough demand (please let us know at pdfbox-users@), we can certainly include pre-compiled .NET binaries in future releases.

  10. Hi!

    A .NET Version of the 0.8 would be really Great!

  11. I totally agree with the other guys that .Net version for 0.8 is required. Kindly provide it as soon as possible. Thanks

  12. A .NET version would be great! If there's any way you could possibly e-mail me a version I would definitely appreciate it.