Has anyone already done what I am asking for below?

We would like the ability for the client to be able to customize an item on line. For example a business card. That is we create a business card template that has some fields that the user can customize on line. For example, name, phone number, title etc. They would input their info in a form that shows the available fields and then would see the end result on the screen. When they approve it the final product would be turned into a pdf and sent to us with the other information.