Hola,
Había pensado que generabas tus pdf's, a partir de datos obtenidos de una BBDD, pero por lo que veo los recibes en un formulario. Que es lo que hace tu aplicación exactamente?
Conozco una clase muy buena que se llama dompdf, con la que te solucionarian casi todos tus problemas, esta clase te permite generar pdf a partir de texto plano o contenido html, luego en la configuración puedes indicar si quieres que el pdf se visualize en el navegador, o como es tu caso que se pueda descargar, también puedes indicar el nombre de salida que tendrá.
Te dejo este enlace, donde también se explica como forzar la descarga de un archivo:
http://www.comolohago.cl/2009/01/12/...us-sitios-web/
Saludos,