C# 在模板页脚中递增数字
C# increment number in the template footer
我正在使用 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);
问题是它在每一页上为 (counterMessages) 打印出 1.2.3.4,所以我看不到数字,这是因为我们创建了一个模板,将在每一页上重复.有没有办法克服这个问题,直接在每个页面上递增整数?
所以我使用了以下解决方案,我使用了自定义页脚 属性
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;
这将在每页上打印一个新的自定义页脚模板,并在每页上增加编号
我正在使用 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);
问题是它在每一页上为 (counterMessages) 打印出 1.2.3.4,所以我看不到数字,这是因为我们创建了一个模板,将在每一页上重复.有没有办法克服这个问题,直接在每个页面上递增整数?
所以我使用了以下解决方案,我使用了自定义页脚 属性
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;
这将在每页上打印一个新的自定义页脚模板,并在每页上增加编号