Authorize a Download On Submission of a Form

If you want a visitor to fill out a form before being given access to a download link, eForm can do the job nicely. Create a TV with the input type "file", output widget "Hyperlink" (fill out the appropriate fields in the Widget properties section, at least the "Display Text" field since that will be the link itself) and make sure to check the box to connect it to the document's template. Then simply add the TV's tags to the eForm "thankyou" chunk tpl.