关于c#:这是什么类型的标记?

What kind of markup is this?

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

1
2
3
4
5
6
<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>

来源

此时我真正想做的就是设置列的宽度(单元格,因为它在这里被称为)但 cell 不接受我的 style: widthwidth 或任何东西。

我该如何使用这个东西?有没有更好的方法从 MVC 视图呈现 PDF?


就像其他人所说的,这是 iTextSharp xml。这是一个帖子,列出了有效的 XML 元素。如何使用 XML 和 iTextSharp 在 PDF 文档中创建表格?

看起来您可以使用 CDATA 标签来设置宽度。


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

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

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

PDF 转换
http://www.essentialobjects.com/Products/EOdf/Default.aspx