这是什么样的标记?

时间:2013-03-07 15:30:41

标签: c# asp.net-mvc asp.net-mvc-4 pdf-generation

我正在尝试从MVC视图生成一些PDF,这是一个很好的选择。我最终遇到了this并尝试使用它,但它有如下所示的奇怪标记(它基于ITextSharp):

<row>
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true">User Name</cell>
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true">Description</cell>
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true" horizontalalign="right">Lucky Number</cell>
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true" horizontalalign="right">Doubled</cell>
</row>

Source

此时我真正想做的就是设置列的宽度(单元格,就像在这里调用的那样),但cell不接受我的style: widthwidth或任何东西。

我怎么能用这个东西?有没有更好的方法从MVC视图呈现PDF?

2 个答案:

答案 0 :(得分:1)

最简单的方法是在html中创建视图并将其转换为pdf,然后将其作为操作结果发送。

获取剃刀模板的html的简单方法 http://razorengine.codeplex.com/

string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });

Pdf转换 http://www.essentialobjects.com/Products/EOPdf/Default.aspx

答案 1 :(得分:1)

像其他人一样说这是iTextSharp xml。这是一篇帖子列出了有效的XML元素。 How to create tables in a PDF document using XML and iTextSharp?

看起来你可能会使用CDATA标签来设置宽度。