Et si tu faisait remplir le formulaire en plusieurs fois ... je m'explique :
Tu divises ton formulaire en plusieurs partie, l'utilisateur rempli la première partie et clique sur un bouton qui l'envoie vers un la suite du formulaire.
Une fois arriver au dernier formulaire quand il valide, il tombe sur une page qui lui fais le récapitulatif de tout et tu déclenche ta fonction d'impression dans le fonction onLoad() sur le <body>.
Tu peux même te permettre de mettre en forme tes infos avec du HTML et CSS pour avoir une impression plus ... "sexy".
Pour ce qui est de l'enregistrement des données tu peux soit les sauvegarder entre chaque formulaire, soit à la fin juste avant l'affichage du récapitulatif.
Je ne sais pas si j'ai été compréhensible.
BD