Hide Footer on first page

三世轮回 提交于 2021-02-10 14:26:51

问题


Is it possible to hide the header/footer of a TuesPechkin document for a specific page. I'd like the header and footers to be ignored on the first page of the PDF document but can't find a way to achieve this.

Document setup as below:

var document = new HtmlToPdfDocument
        {
            GlobalSettings =
            {
                ProduceOutline = true,
                DocumentTitle = "My Report",
                PaperSize = PaperKind.A4, // Implicit conversion to PechkinPaperSize
                Margins =
                {
                    All = 1.375,
                    Unit = Unit.Centimeters
                }
            },
            Objects =
            {
                new ObjectSettings
                {
                    HtmlText = html,
                    WebSettings = new WebSettings {UserStyleSheet = "~/Content/Site.css"},
                    HeaderSettings = new HeaderSettings()
                        {
                            FontSize = 8,
                            LeftText = "My report", 
                            RightText = "2014"
                        },
                    FooterSettings = new FooterSettings()
                    {
                        FontSize = 8,
                        CenterText = "Page [page] of [topage]"
                    }
                }
            }
        };

回答1:


The API doesn't seem to support this. However, I found a workaround here for WKHTMLTOPDF which might work for you.

Put the following HTML in a file and reference this file in your footer settings.

<html>  
<head>  
<script>  
   function subst() {  
      var vars = {};  

      // explode the URL query string  
      var x = document.location.search.substring(1).split('&');  

      // loop through each query string segment and get keys/values  
      for (var i in x)  
      {  
         var z = x[i].split('=',2);  
         vars[z[0]] = unescape(z[1]);  
      }  

      // an array of all the parameters passed into the footer file  
      var x = ['frompage', 'topage', 'page', 'webpage', 'section', 'subsection', 'subsubsection'];  

      // each page will have an element with class 'section' from the body of the footer HTML  
      var y = document.getElementsByClassName('section');  
      for(var j = 0; j < y.length; j++)  
      {  
         // if current page equals total pages  
         if (vars[x[2]] == vars[x[1]])  
         {  
            y[j].innerHTML = "I'm a footer only on the last page";  
         }  
      }  
   }  
</script>  
</head>  
<body onload="subst()">  
   <div class="section"></div>  
</body>  
</html>  


来源:https://stackoverflow.com/questions/28091843/hide-footer-on-first-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!