This is a list of libraries and applications that tend to get discussed frequently in the
Other Open Source Projects forum, but feel free to add others as well. It would be helpful if you added a few words why a particular package stands out.
The AccessingFileFormats lists lots of projects that can read and write various file formats.
- FlyingSaucer is a library that can render XHTML/CSS to a Swing component, and -with the help of iText- to a PDF file. Introduction
- Apache FOP is a library for rendering XML into properly layouted formats like PDF, RTF, AWT, PNG and others. It does this by using XML-FO transformations.
- POI - Read and write Excel files. There are also parts that deal with Word, PowerPoint, Visio and Outlook files, but they're less advanced, although usable.
- JFreeChart - versatile charting package. An example web app showing how to use it in a servlet can be found here. A simple demo can be found at JFreeChartDemo. cewolf is a JSP tag library on top of JFreeChart?; a version that has a few bugs fixed as well as some enhancements is hosted here.
- JChart2D - another 2D charting package, this one aimed more at realtime graphics in desktop applications. A simple demo can be found at JChart2DDemo
- Axis - a complete web service generation package with lots of tools for debugging. See also WebServicesFaq.
- ImageJ - an image processing application and library that can read and write plenty of file formats, and even more with the help of the Jimi plugin
- Lobo is a Swing web browser component that supports HTML 4, CSS, AJAX and direct JavaFX rendering.
Playing media
- Java Media Framework - Sun API for working with various media formats, which seems like it's no longer being developed. Code examples can be found here. JMF can play Flash 2 files. Through the FOBS library (which itself is a Java layer on top of the ffmpeg library), support for Windows Media can be added to JMF. Jffmpeg adds a few more audio and video formats like MPEG-4 and Ogg/Vorbis. There's also an MP3 plugin for JMF. Several libraries for working with ID3 tags are listed in this thread. FMJ is an open source alternative to JMF.
- QuickTime for Java - Apple API for working with various media formats. The Amateur project puts a Swing GUI on top of QT for Java. Some Java example codes can be found here. QT4J is not open source, but it is free to use. It can also play Flash 5 files. On OS X, the Flip4Mac Components can be used to add support for Windows Media to QT4J (be sure to do a "Custom Install", lest you inadvertently install Silverlight as well). Also on OS X, Perian adds support for a wide range of audio and video formats. (Note that QT4J, Perian and Flip4Mac are not open source, but free to use.)
- Xiph.org has Java implementations of the Ogg, Vorbis and Shout libraries.
- LAMEOnJ is a Java API on top of the LAME MP3 encoder.
Q: How can I create an image containing a barcode?
Numerous libraries are available that can do this: Barcode4j, JBarcodeBean, Barbecue, JBars. The iText library can create PDFs containing barcodes.
CategoryFaq