PageSetup class

Represents the page setup properties of a section.

To learn more, visit the Working with Sections documentation article.

public class PageSetup


Bidi { get; set; }Specifies that this section contains bidirectional (complex scripts) text.
BorderAlwaysInFront { get; set; }Specifies where the page border is positioned relative to intersecting texts and objects.
BorderAppliesTo { get; set; }Specifies which pages the page border is printed on.
BorderDistanceFrom { get; set; }Gets or sets a value that indicates whether the specified page border is measured from the edge of the page or from the text it surrounds.
Borders { get; }Gets a collection of the page borders.
BorderSurroundsFooter { get; set; }Specifies whether the page border includes or excludes the footer.
BorderSurroundsHeader { get; set; }Specifies whether the page border includes or excludes the header.
BottomMargin { get; set; }Returns or sets the distance (in points) between the bottom edge of the page and the bottom boundary of the body text.
ChapterPageSeparator { get; set; }Gets or sets the separator character that appears between the chapter number and the page number.
CharactersPerLine { get; set; }Gets or sets the number of characters per line in the document grid.
DifferentFirstPageHeaderFooter { get; set; }True if a different header or footer is used on the first page.
EndnoteOptions { get; }Provides options that control numbering and positioning of endnotes in this section.
FirstPageTray { get; set; }Gets or sets the paper tray (bin) to use for the first page of a section. The value is implementation (printer) specific.
FooterDistance { get; set; }Returns or sets the distance (in points) between the footer and the bottom of the page.
FootnoteOptions { get; }Provides options that control numbering and positioning of footnotes in this section.
Gutter { get; set; }Gets or sets the amount of extra space added to the margin for document binding.
HeaderDistance { get; set; }Returns or sets the distance (in points) between the header and the top of the page.
HeadingLevelForChapter { get; set; }Gets or sets the heading level style that is applied to the chapter titles in the document.
LayoutMode { get; set; }Gets or sets the layout mode of this section.
LeftMargin { get; set; }Returns or sets the distance (in points) between the left edge of the page and the left boundary of the body text.
LineNumberCountBy { get; set; }Returns or sets the numeric increment for line numbers.
LineNumberDistanceFromText { get; set; }Gets or sets distance between the right edge of line numbers and the left edge of the document.
LineNumberRestartMode { get; set; }Gets or sets the way line numbering runs that is, whether it starts over at the beginning of a new page or section or runs continuously.
LinesPerPage { get; set; }Gets or sets the number of lines per page in the document grid.
LineStartingNumber { get; set; }Gets or sets the starting line number.
Margins { get; set; }Returns or sets preset Margins of the page.
MultiplePages { get; set; }For multiple page documents, gets or sets how a document is printed or rendered so that it can be bound as a booklet.
OddAndEvenPagesHeaderFooter { get; set; }True if the document has different headers and footers for odd-numbered and even-numbered pages.
Orientation { get; set; }Returns or sets the orientation of the page.
OtherPagesTray { get; set; }Gets or sets the paper tray (bin) to be used for all but the first page of a section. The value is implementation (printer) specific.
PageHeight { get; set; }Returns or sets the height of the page in points.
PageNumberStyle { get; set; }Gets or sets the page number format.
PageStartingNumber { get; set; }Gets or sets the starting page number of the section.
PageWidth { get; set; }Returns or sets the width of the page in points.
PaperSize { get; set; }Returns or sets the paper size.
RestartPageNumbering { get; set; }True if page numbering restarts at the beginning of the section.
RightMargin { get; set; }Returns or sets the distance (in points) between the right edge of the page and the right boundary of the body text.
RtlGutter { get; set; }Gets or sets whether Microsoft Word uses gutters for the section based on a right-to-left language or a left-to-right language.
SectionStart { get; set; }Returns or sets the type of section break for the specified object.
SheetsPerBooklet { get; set; }Returns or sets the number of pages to be included in each booklet.
SuppressEndnotes { get; set; }True if endnotes are printed at the end of the next section that doesn’t suppress endnotes. Suppressed endnotes are printed before the endnotes in that section.
TextColumns { get; }Returns a collection that represents the set of text columns.
TextOrientation { get; set; }Allows to specify TextOrientation for the whole page. Default value is Horizontal
TopMargin { get; set; }Returns or sets the distance (in points) between the top edge of the page and the top boundary of the body text.
VerticalAlignment { get; set; }Returns or sets the vertical alignment of text on each page in a document or section.


ClearFormatting()Resets page setup to default paper size, margins and orientation.


PageSetup object contains all the page setup attributes of a section (left margin, bottom margin, paper size, and so on) as properties.


Shows how to apply and revert page setup settings to sections in a document.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Modify the page setup properties for the builder's current section and add text.
builder.PageSetup.Orientation = Orientation.Landscape;
builder.PageSetup.VerticalAlignment = PageVerticalAlignment.Center;
builder.Writeln("This is the first section, which landscape oriented with vertically centered text.");

// If we start a new section using a document builder,
// it will inherit the builder's current page setup properties.

Assert.AreEqual(Orientation.Landscape, doc.Sections[1].PageSetup.Orientation);
Assert.AreEqual(PageVerticalAlignment.Center, doc.Sections[1].PageSetup.VerticalAlignment);

// We can revert its page setup properties to their default values using the "ClearFormatting" method.

Assert.AreEqual(Orientation.Portrait, doc.Sections[1].PageSetup.Orientation);
Assert.AreEqual(PageVerticalAlignment.Top, doc.Sections[1].PageSetup.VerticalAlignment);

builder.Writeln("This is the second section, which is in default Letter paper size, portrait orientation and top alignment.");

doc.Save(ArtifactsDir + "PageSetup.ClearFormatting.docx");

See Also