void DrawAutomaticField(String fieldName, PdfPageBase page, RectangleF bounds) { PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 9f, FontStyle.Italic)); PdfBrush brush = PdfBrushes.OrangeRed; PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle); if ("DateTimeField" == fieldName) { PdfDateTimeField field = new PdfDateTimeField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.DateFormatString = "yyyy-MM-dd HH:mm:ss"; field.Draw(page.Canvas); } if ("CreationDateField" == fieldName) { PdfCreationDateField field = new PdfCreationDateField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.DateFormatString = "yyyy-MM-dd HH:mm:ss"; field.Draw(page.Canvas); } if ("DocumentAuthorField" == fieldName) { PdfDocumentAuthorField field = new PdfDocumentAuthorField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } if ("SectionNumberField" == fieldName) { PdfSectionNumberField field = new PdfSectionNumberField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } if ("SectionPageNumberField" == fieldName) { PdfSectionPageNumberField field = new PdfSectionPageNumberField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } if ("SectionPageCountField" == fieldName) { PdfSectionPageCountField field = new PdfSectionPageCountField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } if ("PageNumberField" == fieldName) { PdfPageNumberField field = new PdfPageNumberField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } if ("PageCountField" == fieldName) { PdfPageCountField field = new PdfPageCountField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Draw(page.Canvas); } if ("DestinationPageNumberField" == fieldName) { PdfDestinationPageNumberField field = new PdfDestinationPageNumberField(); field.Font = font; field.Brush = brush; field.StringFormat = format; field.Bounds = bounds; field.Page = page as PdfNewPage; field.Draw(page.Canvas); } if ("CompositeField" == fieldName) { PdfSectionPageNumberField field1 = new PdfSectionPageNumberField(); field1.NumberStyle = PdfNumberStyle.LowerRoman; PdfSectionPageCountField field2 = new PdfSectionPageCountField(); PdfCompositeField fields = new PdfCompositeField(); fields.Font = font; fields.Brush = brush; fields.StringFormat = format; fields.Bounds = bounds; fields.AutomaticFields = new PdfAutomaticField[] { field1, field2 }; fields.Text = "section page {0} of {1}"; fields.Draw(page.Canvas); } }