How do I get a page number to be in front of a floating box that has a background color?
public string VerifyPageNumbersOverBox()
{
int numberOfPages = 10;
float margin = 50;
Document doc = new Document();
for (int i = 0; i < numberOfPages; i++)
{
var page = doc.Pages.Add();
string footerText = "This is a floating box";
page.PageInfo.Margin = new MarginInfo(margin, margin, margin, margin);
FloatingBox footerBox = new FloatingBox((float)page.MediaBox.Width, 180);
footerBox.Left = -margin;
footerBox.Top = (float)page.MediaBox.Height - footerBox.Height;
footerBox.Margin = new MarginInfo(0, 0, 0, 0);
footerBox.Padding = new MarginInfo(margin, 0, 0, 15);
if (i % 2 == 1)
{
//odd pages have a color
footerBox.BackgroundColor = Color.Yellow;
footerText += " with a yellow background color that hides the page number";
}
var title = new TextFragment(footerText);
title.TextState.HorizontalAlignment = HorizontalAlignment.Center;
title.TextState.ForegroundColor = Color.Black;
title.Margin = new MarginInfo(0, 7, 0, 0);
footerBox.Paragraphs.Add(title);
page.Paragraphs.Add(footerBox);
//create page number stamp
PageNumberStamp pageNumberStamp = new PageNumberStamp();
//the stamp is NOT in the background
pageNumberStamp.Background = false;
pageNumberStamp.BottomMargin = 45;
pageNumberStamp.Format = "#";
pageNumberStamp.StartingNumber = 1;
//set text properties
pageNumberStamp.TextState.FontSize = 11;
pageNumberStamp.TextState.FontStyle = FontStyles.Regular;
pageNumberStamp.TextState.ForegroundColor = Color.FromGray(.4);
pageNumberStamp.HorizontalAlignment = HorizontalAlignment.Right;
pageNumberStamp.RightMargin = 60;
page.AddStamp(pageNumberStamp);
}
string exportPath = Path.Combine(ExportFolderPath, "PageNumbers.pdf");
doc.Save(exportPath);
return exportPath;
}