private void AddRepeatingAreas(SectionBuilder section) { AddHeader(true); AddHeader(false); AddFooter(true); AddFooter(false); void AddHeader(bool isOddPage) { string SentOrReceived = isOddPage ? "SENT" : "RECEIVED"; string HeaderText = isOddPage ? _options.HeaderOdd : _options.HeaderEven; RepeatingAreaBuilder header; if (isOddPage) { header = section.AddHeaderToOddPage(50); } else { header = section.AddHeaderToEvenPage(50); } header .AddTable() .SetBorderStroke(Stroke.None) .AddColumnToTable() .AddColumnToTable() .AddRow() .AddCell(SentOrReceived) .SetFontSize(24) .SetVerticalAlignment(VerticalAlignment.Bottom) .ToRow() .AddCell(HeaderText) .SetPadding(0, 0, 10, 0) .SetHorizontalAlignment(HorizontalAlignment.Right) .SetVerticalAlignment(VerticalAlignment.Bottom); } void AddFooter(bool isOddPage) { string dateRangeStr1 = ""; string dateRangeStr2 = ""; if (_options.DisplayDateRange && _options.DateRangeStart.HasValue && _options.DateRangeEnd.HasValue) { dateRangeStr1 = " | Date Range "; dateRangeStr2 = $"{_options.DateRangeStart.Value.ToString(DateFormat)} - {_options.DateRangeEnd.Value.ToString(DateFormat)}"; } RepeatingAreaBuilder footer; if (isOddPage) { footer = section.AddFooterToOddPage(30); } else { footer = section.AddFooterToEvenPage(30); } footer .AddTable() .SetBorderStroke(Stroke.None) .SetContentRowStroke(Stroke.None) .AddColumnToTable() .AddColumnToTable() .AddRow() .AddCell() .AddParagraph() .AddTextToParagraph("Page ") .AddPageNumberToParagraph() .AddTextToParagraph(" | ") .AddText(_options.BookName) .SetFont(exoBold) .ToRow() .AddCell() .SetHorizontalAlignment(HorizontalAlignment.Right) .AddParagraph() .AddTextToParagraph("Date Of Print ") .AddText(_options.DateOfPrint.Value.ToString(DateFormat)) .SetFont(exoBold) .ToParagraph() .AddText(dateRangeStr1) .ToParagraph() .AddText(dateRangeStr2) .SetFont(exoBold); } }