There are many library for creating reports. But personally I use
Jasper Report. JasperReports is an open source Java reporting tool that can write to screen, to a printer or into PDF, HTML, Microsoft Excel, RTF, ODT, Comma-separated values and XML files. It can be used in Java-enabled applications, including Java EE or Web applications, to generate dynamic content.
I'm adding XML datasources for reports @ my work place and needed to embed the image signature for every report document.