Almost all downloadable content will require some sort of custom development...because almost all requirements for downloadable content are different. In this case, you may be able to get by with creating separate variants for each of the formats, and giving each their own download location value (you could even use the product.variantsindropdown.xml.config xmlpackage to give the same type of feel to the page where the user selects the format from a dropdown box).
This will work for simple downloads, but if you need download management type features (eg. how many times can it be downloaded, do users need to be authenticated before they can download so they can't give the link to all their friends, do the downloads expire, etc...) then you'll most likely need to develop a custom download management tool that meets your specific requirements.
<a href="http://www.aspdotnetstorefront.com">Shopping Cart Software</a>