【问题标题】:Generating PDF in ASP.NET MVC by using HTML files for dynamic data在 ASP.NET MVC 中使用 HTML 文件生成动态数据的 PDF
【发布时间】:2020-10-22 07:03:42
【问题描述】:

我正在尝试通过单击asp.net-mvc 中的按钮生成 PDF,它使用table.html() 生成数据

这是我尝试过的逻辑。

$(function () {
  $("#btnExportPDF").click(function () {                                           
     $("input[name='GridHtml']").val($("#grdCicleDatatable_wrapper").html());
  });
});
<input id="btnFilter1" type="button" value="Filter" class="button" />

@*<input id="btnExportPDF" type="button" value="Export to PDF" class="button" />*@

@using (Html.BeginForm("Export", "App", FormMethod.Post))
 {
   <input type="hidden" name="GridHtml" />
   <input type="submit" id="btnExportPDF" value="Export" />
 }
                            
                            
[HttpPost]
[ValidateInput(false)]
public FileResult Export(string GridHtml)
{
   using (MemoryStream stream = new System.IO.MemoryStream())
   {
       StringReader sr = new StringReader(GridHtml);
       Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
       PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
       pdfDoc.Open();
       XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
       pdfDoc.Close();
       return File(stream.ToArray(), "application/pdf", "SignOffSheet.pdf");
   }
}                            

这是我尝试过的link

但我想使用其他 HTML 文件来显示数据而不是 GridHtml 数据容器。

这是我的 HTML,使用起来更精确

<!doctype html>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="description" content="" />
    <title>Signoffsheet PDF - Fiber Inventory Portal</title>
</head>

<body>
    <table cellspacing="" cellpadding="0" width="100%" border="1" style="font-family: Arial, Helvetica, sans-serif; font-size:11px;border-collapse: collapse;">
        <tbody>
            <tr>
                <td>
                    <table cellspacing="15" cellpadding="0" width="100%" border="0">
                        <tbody>
                            <tr>
                                <td>
                                    <table cellspacing="0" cellpadding="10" width="100%" border="1" style="border-collapse:collapse;">
                                        <tbody>
                                            <tr>
                                                <td align="center" style="font-size:16px;">
                                                    <b>FIBER SIGNOFF SHEET</b>
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <table cellspacing="0" cellpadding="5" width="100%" border="0">
                                        <tbody>
                                            <tr>
                                                <td align="right" width="20%"><b>Circle Name :</b></td>
                                                <td align="left"><b>BR</b></td>
                                            </tr>
                                            <tr>
                                                <td align="right"><b>SP Name :</b></td>
                                                <td align="left"><b>NIPL</b></td>
                                            </tr>
                                            <tr>
                                                <td align="right"><b>Inventory For :</b></td>
                                                <td align="left"><b>Jun&apos;20</b></td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <table cellspacing="0" cellpadding="5" width="100%" border="1" style="border-collapse:collapse;">
                                        <thead>
                                            <tr style="background-color:#002060;color:#ffffff;-webkit-print-color-adjust: exact;">
                                                <th bgcolor="#002060" align="center" rowspan="3">S.No.</th>
                                                <th bgcolor="#002060" align="center" rowspan="3">Maintenance Point</th>
                                                <th bgcolor="#002060" align="center" colspan="8">Billable Scope Approved by CMM</th>
                                                <th bgcolor="#002060" align="center" colspan="3">Commited Manpower</th>
                                            </tr>
                                            <tr bgcolor="#002060" style="background-color:#002060;color:#ffffff;-webkit-print-color-adjust: exact;">
                                                <th bgcolor="#002060" align="center" colspan="2">Intercity</th>
                                                <th bgcolor="#002060" align="center" colspan="2">Intracity</th>
                                                <th bgcolor="#002060" align="center" colspan="2">Enterprise</th>
                                                <th bgcolor="#002060" align="center" colspan="2">Overall</th>
                                                <th bgcolor="#002060" align="center" rowspan="2">FRT</th>
                                                <th bgcolor="#002060" align="center" rowspan="2">Fiber<br /> Supervisor</th>
                                                <th bgcolor="#002060" align="center" rowspan="2">Patroller</th>
                                            </tr>
                                            <tr bgcolor="#002060" style="background-color:#002060;color:#ffffff;-webkit-print-color-adjust: exact;">
                                                <th bgcolor="#002060" align="center">Aerial</th>
                                                <th bgcolor="#002060" align="center">UG</th>
                                                <th bgcolor="#002060" align="center">Aerial</th>
                                                <th bgcolor="#002060" align="center">UG</th>
                                                <th bgcolor="#002060" align="center">Aerial</th>
                                                <th bgcolor="#002060" align="center">UG</th>
                                                <th bgcolor="#002060" align="center">Aerial</th>
                                                <th bgcolor="#002060" align="center">UG</th>
                                            </tr>
                        </tbody>
                        <tbody>
                            <tr>
                                <td align="center" width="4%">1</td>
                                <td align="center" width="19%">Arrah</td>
                                <td align="center" width="7%">-</td>
                                <td align="center" width="7%">752.15</td>
                                <td align="center" width="7%">-</td>
                                <td align="center" width="7%">89.6</td>
                                <td align="center" width="7%">-</td>
                                <td align="center" width="7%">0.6</td>
                                <td align="center" width="7%">0.0</td>
                                <td align="center" width="7%">842.35</td>
                                <td align="center" width="7%"></td>
                                <td align="center" width="7%"></td>
                                <td align="center" width="7%"></td>
                            </tr>
                            <tr>
                                <td align="center">2</td>
                                <td align="center">Aurangabad-BH</td>
                                <td align="center">-</td>
                                <td align="center">1,651.3</td>
                                <td align="center">-</td>
                                <td align="center">104.4</td>
                                <td align="center">0.4</td>
                                <td align="center">5.0</td>
                                <td align="center">0.4</td>
                                <td align="center">1,760.7</td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                            </tr>
                            <tr>
                                <td align="center">3</td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                            </tr>
                            <tr>
                                <td align="center">4</td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                            </tr>
                        </tbody>
                        <tfoot>
                            <tr bgcolor="#002060" style="background-color:#002060;color:#ffffff;-webkit-print-color-adjust: exact;">
                                <td bgcolor="#002060" align="center"></td>
                                <td bgcolor="#002060" align="center">Total</td>
                                <td bgcolor="#002060" align="center">0.0</td>
                                <td bgcolor="#002060" align="center">14,580.8</td>
                                <td bgcolor="#002060" align="center">11.3</td>
                                <td bgcolor="#002060" align="center">2,054.8</td>
                                <td bgcolor="#002060" align="center">0.4</td>
                                <td bgcolor="#002060" align="center">16.1</td>
                                <td bgcolor="#002060" align="center">11.8</td>
                                <td bgcolor="#002060" align="center">16,651.6</td>
                                <td bgcolor="#002060" align="center"></td>
                                <td bgcolor="#002060" align="center"></td>
                                <td bgcolor="#002060" align="center"></td>
                            </tr>
                        </tfoot>
                    </table>
                </td>
            </tr>
            <tr>
                <td>
                    <table cellspacing="0" cellpadding="5" width="100%" border="1"
                           style="border-collapse:collapse;">
                        <tbody>
                            <tr>
                                <td align="center" width="25%">SP Circle Head</td>
                                <td align="center" width="25%">RJIL Fiber SME</td>
                                <td align="center" width="25%">RJIL CMM</td>
                                <td align="center" width="25%">RJIL CTO</td>
                            </tr>
                            <tr>
                                <td align="center" height="50px"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                            </tr>
                            <tr>
                                <td align="center">Signature &amp; Date</td>
                                <td align="center">Signature &amp; Date</td>
                                <td align="center">Signature &amp; Date</td>
                                <td align="center">Signature &amp; Date</td>
                            </tr>
                            <tr>
                                <td align="center" height="50px"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                                <td align="center"></td>
                            </tr>
                            <tr>
                                <td align="center">Name</td>
                                <td align="center">Name</td>
                                <td align="center">Name</td>
                                <td align="center">Name</td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>
    </table>
   
</body>

</html>

【问题讨论】:

    标签: javascript asp.net asp.net-mvc pdf-generation


    【解决方案1】:

    你可以用这个:

     <button type="button" onclick="window.print()">Print</button>
    

    【讨论】:

    • 是的,试试看,很简单。
    【解决方案2】:

    您可以使用Response.Redirect 来查看您的“清除”表并在该视图的控制器中实现您的导出。

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 2011-12-29
      • 2010-12-18
      • 2019-04-16
      • 2016-01-28
      • 2015-11-07
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      相关资源
      最近更新 更多