This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
There rarely is a single "best" of anything - it all depends on the requirements. iText is API-driven, but there are other approaches: FOP if your input data is in XML format, or FlyingSaucer for CSS-styled XHTML pages.