public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
float effectiveStrWidthFirstPart = 0.0f;
int pageN = writer.PageNumber;
String text = "Page " + pageN.ToString() + " of ";
Console.WriteLine("###-->> OnEndPageText = " + text);
float len = 10.5f;
iTextSharp.text.Rectangle pageSize = document.PageSize;
cb.SetRGBColorFill(100, 100, 100);
cb.BeginText();
cb.SetFontAndSize(BaseFont.CreateFont(), 10.5f);
cb.SetTextMatrix(document.LeftMargin, pageSize.GetBottom(document.BottomMargin - 10));
cb.ShowText(text);
effectiveStrWidthFirstPart = cb.GetEffectiveStringWidth(text, true);
Console.WriteLine("###-->> Effective Str Width (first part) = " + effectiveStrWidthFirstPart);
cb.EndText();
cb.AddTemplate(template, document.LeftMargin + len, pageSize.GetBottom(document.BottomMargin - 10));
}