Pues no sé como lo tienes hecho hasta ahora.
http://itextpdf.com/examples/iia.php?id=121
Por ejemplo para ese caso, si tuvieras un controller o un servlet, en vez de main podrías tener un método generate al que llamas desde el servlet o el controlador y le vas pasando los parámetros cubiertos del formulario, o el Dto con el formulario si lo tienes así. Luego vas adaptando lo que necesites.
Para apache poi la idea es la misma
http://www.avajava.com/tutorials/les...using-poi.html
Este ejemplo no contiene un formulario, lo siento, pero si consigues adaptar el primero no te costará mucho entender como va esto.