Class DocumentSection
Represents a section within a document, containing various content elements like paragraphs, text runs, and tables.
Implements
Inherited Members
Namespace: IronWord.Models
Assembly: IronWord.dll
Syntax
public class DocumentSection : ParentElement, IElementContainer, ITextContainer, IDrawContainer
Grouping content under one page layout in a Word document runs through DocumentSection. It holds the paragraphs, runs, tables, and images that share a section's margins and page setup, and gives a developer the methods to add, extract, and edit that content in place.
A section is created with new DocumentSection(params ContentElement[]), passing the child elements it should start with. Content methods fall into a few functional groups. The Add family puts content in: AddParagraph, AddRun, AddText, AddTable, AddShape, AddMultiLevelTextList, and the overloaded AddImage (from an AnyBitmap, an ImageContent, a Stream, or a file path), each returning the element it added. The Extract family reads content back out: ExtractText returns the section's text, ExtractImages returns its ImageContent items, and ExtractShapes returns its shapes. For targeted edits, FindText locates the first TextContent matching a string, ReplaceText swaps every occurrence of one string for another, and Remove takes out a given text element.
Layout and content read-back live on the section's properties. PageSetup carries the headers, footers, and page configuration, while BottomMargin, TopMargin, LeftMargin, and RightMargin, along with Height and Width, report the section's measurements in points. The Paragraphs, Runs, and MultiLevelTextLists lists expose the section's content by element type, and Index gives its position among the document's sections. Because adding, extracting, and editing all operate on the same section object, a developer can build a section, read its current state, and revise it without leaving that object.
var section = new DocumentSection();
section.AddParagraph(new Paragraph());
section.AddText("Quarterly summary");The add text how-to covers placing text, the add image how-to handles images, and the add table how-to builds tables within a section.
Constructors
DocumentSection(ContentElement[])
Initializes a new instance of the DocumentSection class.
Declaration
public DocumentSection(params ContentElement[] children)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentElement[] | children |
Properties
BottomMargin
Bottom margin of document section in pts.
Declaration
public float BottomMargin { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
Height
Height of document section in pts.
Declaration
public float Height { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
Index
Gets the index of this section within the parent's list of children.
Declaration
public int Index { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
LeftMargin
Left margin of document section in pts.
Declaration
public float LeftMargin { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
MultiLevelTextLists
Gets a list of all ShapeContent elements contained within this document section.
Declaration
public List<MultiLevelTextList> MultiLevelTextLists { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<MultiLevelTextList> | A List containing all shape elements. |
PageSetup
Gets or sets the page setup information for this section, including headers and footers.
Declaration
public PageSetup PageSetup { get; set; }
Property Value
| Type | Description |
|---|---|
| PageSetup |
Paragraphs
Gets a list of all Paragraph elements contained within this document section.
Declaration
public List<Paragraph> Paragraphs { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<Paragraph> | A List containing all paragraph elements. |
RightMargin
Right margin of document section in pts.
Declaration
public float RightMargin { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
Runs
Gets a list of all Run elements contained within this document section.
Declaration
public List<Run> Runs { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<Run> | A List containing all run elements. |
TopMargin
Top margin of document section in pts.
Declaration
public float TopMargin { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
Width
Width of document section in pts.
Declaration
public float Width { get; }
Property Value
| Type | Description |
|---|---|
| System.Single |
Methods
AddImage(AnyBitmap)
Adds an image to this TableCell from an IronSoftware.Drawing.AnyBitmap object.
Declaration
public ImageContent AddImage(AnyBitmap anyBitmap)
Parameters
| Type | Name | Description |
|---|---|---|
| IronSoftware.Drawing.AnyBitmap | anyBitmap |
Returns
| Type | Description |
|---|---|
| ImageContent |
AddImage(ImageContent)
Adds a new Image object to the section.
Declaration
public ImageContent AddImage(ImageContent imageContent)
Parameters
| Type | Name | Description |
|---|---|---|
| ImageContent | imageContent | The Image object to be added. |
Returns
| Type | Description |
|---|---|
| ImageContent |
AddImage(Stream)
Adds an image to the to the section.
Declaration
public ImageContent AddImage(Stream imageStream)
Parameters
| Type | Name | Description |
|---|---|---|
| System.IO.Stream | imageStream | The stream image to be loaded. |
Returns
| Type | Description |
|---|---|
| ImageContent | The added Image. |
AddImage(String)
Adds an image to the to the section.
Declaration
public ImageContent AddImage(string imagePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | imagePath | The physical path of Image to be loaded. |
Returns
| Type | Description |
|---|---|
| ImageContent | The added Image. |
AddMultiLevelTextList(MultiLevelTextList)
Adds a new MultiLevelTextList object to the section.
Declaration
public MultiLevelTextList AddMultiLevelTextList(MultiLevelTextList multiLevelTextList)
Parameters
| Type | Name | Description |
|---|---|---|
| MultiLevelTextList | multiLevelTextList | The multi-level text list object to be added. |
Returns
| Type | Description |
|---|---|
| MultiLevelTextList |
AddParagraph(Paragraph)
Adds a new Paragraph object to the section.
Declaration
public Paragraph AddParagraph(Paragraph paragraph)
Parameters
| Type | Name | Description |
|---|---|---|
| Paragraph | paragraph | The Paragraph object to be added. |
Returns
| Type | Description |
|---|---|
| Paragraph |
AddRun(Run)
Adds a run to the last paragraph of the section.
Declaration
public Run AddRun(Run run)
Parameters
| Type | Name | Description |
|---|---|---|
| Run | run | The run to be added. |
Returns
| Type | Description |
|---|---|
| Run |
AddShape(ShapeContent)
Adds a new ShapeContent object to the section.
Declaration
public ShapeContent AddShape(ShapeContent shapeContent)
Parameters
| Type | Name | Description |
|---|---|---|
| ShapeContent | shapeContent | The ShapeContent object to be added. |
Returns
| Type | Description |
|---|---|
| ShapeContent |
AddTable(Table)
Adds a new Table object to the section.
Declaration
public Table AddTable(Table table)
Parameters
| Type | Name | Description |
|---|---|---|
| Table | table | The Table object to be added. |
Returns
| Type | Description |
|---|---|
| Table |
AddText(TextContent)
Adds a TextContent object to the last paragraph of the section.
Declaration
public TextContent AddText(TextContent textContent)
Parameters
| Type | Name | Description |
|---|---|---|
| TextContent | textContent | The TextContent object to be added. |
Returns
| Type | Description |
|---|---|
| TextContent |
AddText(String)
Adds text to the last paragraph of the section.
Declaration
public TextContent AddText(string text)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | text | The text to be added. |
Returns
| Type | Description |
|---|---|
| TextContent |
ExtractImages()
Extract all images from this container
Declaration
public List<ImageContent> ExtractImages()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<ImageContent> | List of images |
ExtractShapes()
Extract all shapes from this container
Declaration
public List<ShapeContent> ExtractShapes()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<ShapeContent> | List of path segment collections |
ExtractText()
Extract all text from the container
Declaration
public string ExtractText()
Returns
| Type | Description |
|---|---|
| System.String | Extracted text |
FindText(String)
Find the first text element which contains the specified text
Declaration
public TextContent FindText(string find)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | find | Text to find |
Returns
| Type | Description |
|---|---|
| TextContent | Text element containing the specified text |
Remove(TextContent)
Remove the specified text element
Declaration
public bool Remove(TextContent element)
Parameters
| Type | Name | Description |
|---|---|---|
| TextContent | element | Text element to remove |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the element was found and removed, False otherwise |
ReplaceText(String, String)
Replace all instances of the specified text
Declaration
public void ReplaceText(string find, string replace)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | find | Text to replace |
| System.String | replace | Replacement text |