I had a similar question and ended up using http://code.google.com/p/wkhtmltopdf/
It generates PDF from HTML (which can be done using the usual Razor view). The result is very good. You may need to display the view in a memory line, see here .
As for doc, you can specify the type of content as Microsoft Word when sending HTML inside, Word will accept and convert it. For instance. see here .
If you want users to change the final document, you can visualize the viewing and set the content for the resulting HTML. For instance.
<div contenteditable>GENERATED HTML</div>
Or use something like TinyMCE . Then, when users submit this HTML, you use it to go to wkhtmlpdf and you get the PDF.
source share