将HTML表格导出为PDF。该表格以HTML表格的形式打印在视图中

时间:2019-06-19 07:17:17

标签: c# asp.net-mvc

我有一个HTML表,该表使用HTML显示在视图中。我想将其导出为PDF。我该怎么办?

 <table id="tbl1" class="css1">
            <thead class="css2">
                <tr>
                    <td width="10%" align="center">Something1</td>
                    <td width="15%" align="center">Something2</td>
                    <td width="20%" align="left">Something3</td>
                    <td width="15%" align="right">Something4</td>
                    <td width="10%" align="center">Something5</td>
                    <td width="15%" align="right">Something6</td>
                    <td width="15%" align="right">Something7</td>
                </tr>
            </thead>
            <tbody class="css2"><!--Printed data here by calling Html.Append() in a function above.--></tbody>
            <tfoot></tfoot>
        </table>

我已经通过调用上述函数来处理<tbody class="css2">中的数据。这没有问题。数据正在正确打印。我现在想将表tbl1导出为PDF。我该怎么做?如何将该表传递给执行该功能的函数?

编辑:我正在考虑使用Rotativa,但是如何仅将表传递给函数?视图中有文本框,标签和其他内容,我不想在PDF中打印。是否可以将单个id或类传递给Rotativa函数?

2 个答案:

答案 0 :(得分:0)

尝试使用HTML2Canvas。这是一个javascript插件,基本上可以获取div或表的屏幕快照,您可以打开浏览器的“打印”屏幕以另存为PDF。看看它是否对您有用。

请参阅文档:https://html2canvas.hertzen.com/documentation

答案 1 :(得分:0)

如果您对服务器端调用感到满意,则可以使用多个库,例如Itext sharper。 https://www.codeproject.com/Articles/260470/PDF-reporting-using-ASP-NET-MVC3