Zajímavou a vyše nezmíněnou možností je také knihovna IText. http://www.lowagie.com/iText/download.html
Pomocí ní je možné generovat PDF přímo v kódu JAVY. Je pod licencí MPL a LGPL (předpokládám, že volně použitelná). Na domovské stránce je podrobně popsáno použití a mnoho příkladů.
Pro komplexnější řešení to asi není. To by se člověk upsal. Ale pro nějaké rychlé nebo speciální řešení je to zajímavá alternativa.
jakub: "...Pro komplexnější řešení to asi není..."
Ano, pre komplexnejsie zostavy odporucam JasperReports http://jasperreports.sourceforge.net/ , ktory vyuziva iText ako engine. Zostavy su definovane v XML, ale mozete pouzit aj WYSIWYG editor iReport http://ireport.sourceforge.net/
Samozrejme vsetko je to open-source :-)
No my jsme zkoušeli různé reportovací nástroje a narazili jsme na problémy.
Oni sice existují WYSIWYG návrháře, ale mají velká omezení - např. špatně se dělají subreporty, ....
Pokud je přímo napojujete na databázi musíte všechna omezení přetrpět.
Nakonec jsme začali používat UJAC. Je to podobné HTML. Prostě vygenerujeme XML tagy pomocí šablonovacího jazyka (freemarker) a pak to celé necháme naformátovat pomocí UJAC.
My sme spokojni s kombinaciou JasperReports+iReport, hlavne preto ze zdroj dat nemusi byt priamo JDBC, ale kolekcia objektov. Ja osobne som pred 5-6 rokmi robil vela zostav vo VB5 a CrystalReports, a vtedy som strasne nadaval, lebo zdrojaky Crystalu boli binarne. Prave zdrojaky v XML u Jasperu povazujem za velku vyhodu.