[link|http://jasperreports.sourceforge.net/|JasperReports] looks interesting. It is Java based and LGPL. It looks like it takes and XML report definition and compiles the report into a Java class. When run, it gets the data via JDBC. It uses the previously mentioned iText library for PDF generation.