PdfPageNumberField constructor

PdfPageNumberField({
  1. PdfFont? font,
  2. PdfBrush? brush,
  3. Rect? bounds,
  4. bool? isSectionPageNumber,
})

Initializes a new instance of the PdfPageNumberField class and may also with the classes are PdfFont, PdfBrush and Rect.

//Create a new pdf document
PdfDocument document = PdfDocument();
//Add the pages to the document
for (int i = 1; i <= 5; i++) {
  document.pages.add().graphics.drawString(
      'page$i', PdfStandardFont(PdfFontFamily.timesRoman, 11),
      bounds: Rect.fromLTWH(250, 0, 615, 100));
}
//Create the footer with specific bounds
PdfPageTemplateElement footer = PdfPageTemplateElement(
    Rect.fromLTWH(0, 0, document.pages[0].getClientSize().width, 50));
//Create the page number field
PdfPageNumberField pageNumber = PdfPageNumberField(
    font: PdfStandardFont(PdfFontFamily.timesRoman, 19),
    brush: PdfSolidBrush(PdfColor(0, 0, 0)));
//Sets the number style for page number
pageNumber.numberStyle = PdfNumberStyle.upperRoman;
//Create the composite field with page number page count
PdfCompositeField compositeField = PdfCompositeField(
    font: PdfStandardFont(PdfFontFamily.timesRoman, 19),
    brush: PdfSolidBrush(PdfColor(0, 0, 0)),
    text: 'Page No: {0}',
    fields: <PdfAutomaticField>[pageNumber]);
compositeField.bounds = footer.bounds;
//Add the composite field in footer
compositeField.draw(
    footer.graphics,
    Offset(
        290, 50 - PdfStandardFont(PdfFontFamily.timesRoman, 19).height));
//Add the footer at the bottom of the document
document.template.bottom = footer;
//Save the document.
List<int> bytes = await document.save();
//Dispose the document.
document.dispose();

Implementation

PdfPageNumberField(
    {super.font, super.brush, super.bounds, bool? isSectionPageNumber}) {
  _helper = PdfPageNumberFieldHelper(this);
  _helper._isSectionPageNumber =
      isSectionPageNumber != null && isSectionPageNumber;
}