Your initial link could be to an intermediate page that asks for the info you want, and exposes a download link. However, this will not force them to enter anything--they can always go ahead and download.
If you need to ensure your information is entered, you'll need to either require them to register and include the information you want in the registration process, or develop a custom module that will not allow a download until information is entered. An extra complication is that if it's an accessible link, everything could be bypassed by anyone who knows the physical location of the file in your system. To protect that, you'd need to use something like the File Manager module, which stores files in a way that they can't be accessed except by authorized users.