【问题标题】:Page number in asp.net core footer (partial view)asp.net 核心页脚中的页码(部分视图)
【发布时间】:2020-08-10 15:44:30
【问题描述】:

我在我的 Asp.Net Core MVC 项目中使用 jsreport。除了页码之外,一切正常。

我正在为页脚使用局部视图。

这是部分视图:

<table style="font-size: 10px; padding-bottom: 5px; padding-top: 0in; padding-left: 0.25in; padding-right: 0.25in;">
    <tbody>
        <tr>
            <td style="width: 1.5in; text-align: left;"><b>@($"{DateTime.Now}")</b></td>
            <td style="width: 8.2in; text-align: center;">Brand Name</td>
            <td style="width: 1.5in; text-align: right;">Page&nbsp;<span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span></td>
        </tr>
    </tbody>
</table>

不幸的是,页码部分根本不起作用。我只是在呈现的 PDF 中看到“Page of”。

我正在使用 Chrome-PDF 配方,但不想使用 pdf-utils 作为页脚。

即使我将以下行放在主报告正文视图中,我仍然没有得到任何页码。

Page&nbsp;<span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span>

我们将不胜感激。

【问题讨论】:

标签: asp.net-core jsreport


【解决方案1】:

header html 需要传递给 Template.Chrome.HeaderTemplate 属性,您还需要使用 Template.Chrome.DisplayHeaderFooter 启用页眉打印,并使用边距为页眉留出空间。

这是控制器动作的样子

[MiddlewareFilter(typeof(JsReportPipeline))]
public async Task<IActionResult> InvoiceWithHeader()
{
    var header = await JsReportMVCService.RenderViewToStringAsync(HttpContext, RouteData, "Header", new { });

    HttpContext.JsReportFeature()
        .Recipe(Recipe.ChromePdf)
        .Configure((r) => r.Template.Chrome = new Chrome {
            HeaderTemplate = header,
            DisplayHeaderFooter = true,
            MarginTop = "1cm",
            MarginLeft = "1cm",
            MarginBottom = "1cm",
            MarginRight = "1cm"
        });

    return View("Invoice", InvoiceModel.Example());
}

以及如何查看Header

<div style='text-align:center; font-size: 10px; width:100%'>Page number <span class="pageNumber"></span>&nbsp;of&nbsp;<span class="totalPages"></span></div>

您可以在此处找到示例存储库
https://github.com/jsreport/jsreport-dotnet-example-webapp

【讨论】:

  • 这正是我正在做的。我的页眉和页脚显示正确。唯一的问题是尽管使用了 jsreport 文档中的代码,但没有插入页码。
  • 请尝试克隆提到的 github 存储库并查看头文件在那里工作。然后尝试比较代码中的不同之处。
  • 我决定为我的项目使用 Open XML SDK。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
  • 1970-01-01
  • 2021-05-26
  • 2012-06-22
相关资源
最近更新 更多