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