WordPress Custom downloadable product

I want to sell contract templates online (WordPress), and need the following functionality:1. Customer adds downloadable pre-written (pdf) contract to cart2 Customer completes a form with data such as name address and signature/initials3. Form data gets automatically added to the contract (eg: This agreement was made between _________ and ________ and signed at this place[…]