1

我使用 itextsharp 和 mvcrazortopdf 在 azure 网站中生成 pdf。div 标签或表格单元格中的嵌套列表无法正确呈现 - 它们变成单行。这是一个例子:

<div>
    <ul>
        <li>
            test1
            <ul>
                <li>test1.1</li>
            </ul>
        </li>
        <li>test2</li>
    </ul>
</div>

http://demo.itextsupport.com/xmlworker/ 在演示页面中呈现为:

  • 测试1 测试1.1
  • 测试2

任何帮助表示赞赏!

4

1 回答 1

2

在同事的帮助下,我们设法为表格单元格内的嵌套列表创建了一种解决方法。它涉及用<div>标签包围列表,它们将正确呈现。

例如,在我正在开发的 Web 应用程序中,我们将几个 Razor 视图转换为 PDF。由于这些视图是使用数据库中的数据完成的,因此我们允许用户使用富文本控件填充其他表单中的某些字段。结果,我们可以遇到任何类型的样式和列表组合。

上面提到的报告在结构上是相似的,所以我们在表格中有很多表格。在最后一级表中,我们有“麻烦”的单元格,这些单元格中填充了来自数据库的富文本字段。在每个单元格中,我们放置这样的<div>标签:

<tr>
    <td class="border3 fontMedium">
        <div>
            @if (!String.IsNullOrEmpty(entity.Field))
            {
                <p class="fontSmall">@Html.Raw(entity.Field)</p>    
            }
            else
            {
                <p>&nbsp;</p>
            }
        </div>
    </td>
</tr>

请注意,所提到的<div>不需要关联任何 CSS 类。您在代码片段中看到的其他 CSS 类属于报告的样式;它们涉及边框、填充等。

希望有帮助。

于 2018-08-24T14:08:48.463 回答