posted 14 years ago
It used to be simple: you used PdfBox for extracting text from PDF, and you used iText for creating and manipulating PDF.
Nowadays, iText also supports text extraction, and I believe that PdfBox is gradually adding more PDF creation functionality.
Apache FOP (Formatting Objects Processor) can be used to create PDFs if you are making heavy use of XML in your process. Formatting Objects has some disadvantages: before you start creating PDF, you first create an XML file (using XSLT). This is a real MVC setup, which is a problem for really large documents (10,000+ pages).
The purpose of JPedal is to render PDFs (a viewer). It uses iText for some other aspects (for instance for filling out documents).
JasperSoft is a customer of iText Software Corp. They use iText as the PDF engine for JasperReports, a high-level tool that allows you to create reports.
I haven't worked with Apache POI for a very long time, but I used Apache POI to create/read XLS files.