简体   繁体   中英

Hide Footer on first page

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]"
                    }
                }
            }
        };

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>  

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM