OpenOffice (or LibreOffice) can be run as a service that let's you stream documents to it and it can return other formats. PDF and Flash are definitely supported. I think it can also do HTML. It's not a full viewer -- just the HTML -- you would have to figure out how you want to display it on a page.