Para crear un loading utilizas ajax para llamar tu archivo que crea el pdf, mientras tienes diferentes estados por ejemplo cuando es llamado agregas una imagen(gif) o cuando el proceso este terminado quitas la imagen y das aviso que se termino de crear el pdf.
Hacer un progress bar es un poco mas complicado, mas dinamico.
Te recomiendo la libreria jquery.
http://foro.elhacker.net/buscador-t315615.0.htmlhttp://java4developers.com/2012/empezar-con-jquery/https://api.jquery.com/jQuery.ajax/