在第一页上隐藏页脚

时间:2015-01-22 14:58:05

标签: c# pdf-generation wkhtmltopdf tuespechkin

是否可以隐藏特定页面的TuesPechkin文档的页眉/页脚。我希望在PDF文档的第一页上忽略页眉和页脚,但找不到实现此目的的方法。

文档设置如下:

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 个答案:

答案 0 :(得分:1)

API似乎不支持此功能。但是,我找到了WKHTMLTOPDF的解决方法here,它可能适合您。

将以下HTML放入文件中,并在页脚设置中引用此文件。

<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>