剃刀查看Word文档或PDF

时间:2011-09-14 16:48:50

标签: asp.net asp.net-mvc asp.net-mvc-3

如何在ASP.NET MVC 3中使用剃刀视图(用于确定如何布局)生成Word文档或PDF?可能通过使用OpenXML SDK(用于WordprocessingML)或iTextSharp(用于PDF)。我想让那些了解HTML的人能够改变生成的Word文档或PDF的外观,而无需编写任何C#代码。

3 个答案:

答案 0 :(得分:5)

我有一个类似的question,最后使用了http://code.google.com/p/wkhtmltopdf/

它从HTML生成PDF(您可以使用通常的Razor视图进行渲染)。结果是非常好。您可能需要将视图渲染到内存字符串中,请参阅here

对于doc,您可以在内部发送HTML时将内容类型指定为Microsoft Word,Word将接受并转换它。例如。见here

如果您希望用户更改最终文档,您可以渲染您查看并为生成的HTML设置contenteditable。 E.g。

 <div contenteditable>GENERATED HTML</div>

或使用TinyMCE之类的内容。然后,当用户回发此HTML时,您可以使用它传递给wkhtmlpdf并获得PDF。

答案 1 :(得分:4)

我刚刚在项目中实施了Rotavia。工作大约需要5分钟。

答案 2 :(得分:3)

这个问题现在有点老了,但是为了未来的访问者,我写了一篇关于如何将常规MVC视图作为Word文档返回的博客文章。

http://benjii.me/2014/01/download-an-asp-net-mvc-view-as-a-word-document/

此功能的核心部分来自我创建的WordDocumentAttribute Action Filter:https://gist.github.com/bjcull/8702230