【问题标题】:C# increment number in the template footer模板页脚中的 C# 增量编号
【发布时间】:2019-07-19 10:13:56
【问题描述】:

我正在使用 selectPDF 库的模板页脚,该库有自己的内置属性 {{page_number}} 和 {{total_pages}}。 selectPDF

var footerText = $"My Export {exportJobIdIdentifier} - Page {{page_number}} of {{total_pages}}  ";


var footerTextElement = new PdfTextElement(0, 0, doc.Pages[0].ClientRectangle.Width, 30, footerText, font)
        {
            VerticalAlign = PdfTextVerticalAlign.Middle
        };

doc.Footer = doc.AddTemplate(footerTextElement.Width, footerTextElement.Height);

doc.Footer.Add(footerTextElement);

这将创建一个模板页脚,并自动为 pdf 的每一页编号。

我想修改模板并在其中显示递增的数字,因此创建了新元素:

   counterMessages++;

   var footerMessageCount = $"showing {counterMessages} from {totalNumMessages} messages";

   var footerMessagecounter = new PdfTextElement(doc.Pages[0].ClientRectangle.Width - 140, doc.Pages[0].ClientRectangle.Height - 5, doc.Pages[0].ClientRectangle.Width / 2, 30, footerMessageCount, font)
   {
      VerticalAlign = PdfTextVerticalAlign.Middle
   };

  doc.Footer.Add(footerMessagecounter);

问题是它在每一页上打印出 1.2.3.4 的(counterMessages),所以我看不到数字,这是因为我们创建了一个将在每一页上重复的模板。有没有办法克服这个问题,直接在每一页上增加整数?

【问题讨论】:

    标签: c# loops pdf-generation selectpdf


    【解决方案1】:

    所以我使用了以下解决方案,我使用了 customfooter 属性

          PdfPage page2 = doc.Pages[countMessages-1];
    
          PdfTemplate customFooter = doc.AddTemplate(
          page2.PageSize.Width, 30);
          PdfHtmlElement customHtml = new PdfHtmlElement(
          $"showing {countMessages} from {totalNumMessages} messages",
          string.Empty);
          customFooter.Add(customHtml);
    
          page.CustomFooter = customFooter;
    

    这将在每页上打印一个新的自定义页脚模板,每页上的数字递增

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多