首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rotativa页眉有时不显示

Rotativa页眉有时不显示
EN

Stack Overflow用户
提问于 2016-08-02 21:59:40
回答 3查看 1.8K关注 0票数 1

我和Rotativa有点问题。我打印表,我想在每个打印的页面上都有页眉和页脚。问题是,有时它能工作,有时不能,即使pdf不包含头文件,它仍然和带有头文件的pdf文件大小相同。有什么解决方案吗?:/下面是我生成pdf的方法

代码语言:javascript
复制
string footer = this.Url.Action("PDFGeneratorFooter", "Home", null, this.Request.Url.Scheme);
            string header = this.Url.Action("PDFGeneratorHeader", "Home", new { number = number }, this.Request.Url.Scheme);

            var pdfFile = new Rotativa.ViewAsPdf("OffersToPdf", movm)
            {
                PageSize = Rotativa.Options.Size.A4,
                FileName = "firstPdf.pdf",
                CustomSwitches = " --footer-html \"" + footer + "\" " + "--header-html \"" + header + "\""
            };

            byte[] applicationPDFData = pdfFile.BuildPdf(ControllerContext);

            path = Path.Combine(path, pdfFile.FileName);
            var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write);
            fileStream.Write(applicationPDFData, 0, applicationPDFData.Length);
            fileStream.Close();

这是我的标题视图

代码语言:javascript
复制
<body style="margin:0 !important; padding:0 !important;">
    @{
        Layout = null;
    }
    <div class="col-xs-12" style="background-color: black;">
        <img src="~/Content/Images/logo.png">
    </div>
</body>
EN

回答 3

Stack Overflow用户

发布于 2018-12-29 03:07:38

我也有同样的问题。不能将页眉/页脚文件设置为普通的.html,因为您希望能够将模型传递给视图。

下面是你可以做的一些对我有用的事情:

  1. 使用1.6.4版本,而不是最新版本。
  2. 正如this post中所说,如果你的头文件包含任何样式或--javascript-delay脚本,有时问题可以通过将它们放入头文件中来解决,而不是让它们作为外部的.js/.css文件。
  3. 如果你的头文件有任何javascript,增加CustomSwitches选项Rotativa的值,让javascript有足够的时间正确加载。例如。--javascript-delay 400 (默认值为200ms)。
  4. 确保将<!DOCTYPE html>标记放在每个文件的最顶部,包括包含内容的文件,在本例中是您的OffersToPdf文件。

此外,使用Rotativa PageMargins选项,以便在PDF上有足够的空间来容纳页眉和页脚。

代码语言:javascript
复制
var pdfFile = new Rotativa.ViewAsPdf("OffersToPdf", movm)
    {
        PageSize = Rotativa.Options.Size.A4,
        FileName = "firstPdf.pdf",
        PageMargins = new Rotativa.Options.Margins(25, 5, 35, 5)
        CustomSwitches = " --footer-html \"" + footer + "\" " + "--header-html \"" + header + "\""
    };
票数 1
EN

Stack Overflow用户

发布于 2017-07-20 03:05:21

我不认为你还需要这个但不管怎样..。由于您没有任何布局,因此标题没有html格式。并且您需要设置DOCTYPE ()。更好的方法是给出一个普通的.html文件作为头文件。我给你这个我找到的链接作为例子:Add footer and header to pdf in rotativa

票数 0
EN

Stack Overflow用户

发布于 2018-09-06 20:43:02

我在使用.cshtml文件的页脚旁边的页眉时也遇到了问题,我只能使用页眉或页脚,直到我通过html将两者都更改。

在这种情况下,使用两个扩展名为.html的文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38722580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档