Paragraph class

Paragraph class

Represents a paragraph of text. To learn more, visit the Working with Paragraphs documentation article.

Paragraph is a block-level node and can be a child of classes derived from Story or InlineStory.

Paragraph can contain any number of inline-level nodes and bookmarks.

The complete list of child nodes that can occur inside a paragraph consists of BookmarkStart, BookmarkEnd, FieldStart, FieldSeparator, FieldEnd, FormField, Comment, Footnote, Run, SpecialChar, Shape, GroupShape, SmartTag.

A valid paragraph in Microsoft Word always ends with a paragraph break character and a minimal valid paragraph consists just of a paragraph break. The Paragraph class automatically appends the appropriate paragraph break character at the end and this character is not part of the child nodes of the Paragraph, therefore a Paragraph can be empty.

Do not include the end of paragraph ControlChar.PARAGRAPH_BREAK or end of cell ControlChar.CELL characters inside the text of the paragraph as it might make the paragraph invalid when the document is opened in Microsoft Word.

Inheritance: ParagraphCompositeNodeNode

Constructors

Name Description
Paragraph(doc) Initializes a new instance of the Paragraph class.

Properties

Name Description
break_is_style_separator True if this paragraph break is a Style Separator. A style separator allows one paragraph to consist of parts that have different paragraph styles.
child_nodes Gets all immediate child nodes of this node.
(Inherited from CompositeNode)
count Gets the number of immediate children of this node.
(Inherited from CompositeNode)
custom_node_id Specifies custom node identifier.
(Inherited from Node)
document Gets the document to which this node belongs.
(Inherited from Node)
first_child Gets the first child of the node.
(Inherited from CompositeNode)
frame_format Provides access to the paragraph formatting properties.
has_child_nodes Returns True if this node has any child nodes.
(Inherited from CompositeNode)
is_composite Returns True if this node can contain other nodes.
(Inherited from Node)
is_delete_revision Returns true if this object was deleted in Microsoft Word while change tracking was enabled.
is_end_of_cell True if this paragraph is the last paragraph in a Cell; false otherwise.
is_end_of_document True if this paragraph is the last paragraph in the last section of the document.
is_end_of_header_footer True if this paragraph is the last paragraph in the HeaderFooter (main text story) of a Section; false otherwise.
is_end_of_section True if this paragraph is the last paragraph in the Body (main text story) of a Section; false otherwise.
is_format_revision Returns true if formatting of the object was changed in Microsoft Word while change tracking was enabled.
is_in_cell True if this paragraph is an immediate child of Cell; false otherwise.
is_insert_revision Returns true if this object was inserted in Microsoft Word while change tracking was enabled.
is_list_item True when the paragraph is an item in a bulleted or numbered list in original revision.
is_move_from_revision Returns True if this object was moved (deleted) in Microsoft Word while change tracking was enabled.
is_move_to_revision Returns True if this object was moved (inserted) in Microsoft Word while change tracking was enabled.
last_child Gets the last child of the node.
(Inherited from CompositeNode)
list_format Provides access to the list formatting properties of the paragraph.
list_label Gets a Paragraph.list_label object that provides access to list numbering value and formatting for this paragraph.
next_sibling Gets the node immediately following this node.
(Inherited from Node)
node_type Returns NodeType.PARAGRAPH.
paragraph_break_font Provides access to the font formatting of the paragraph break character.
paragraph_format Provides access to the paragraph formatting properties.
parent_node Gets the immediate parent of this node.
(Inherited from Node)
parent_section Retrieves the parent Section of the paragraph.
parent_story Retrieves the parent section-level story that can be Body or HeaderFooter.
previous_sibling Gets the node immediately preceding this node.
(Inherited from Node)
range Returns a Range object that represents the portion of a document that is contained in this node.
(Inherited from Node)
runs Provides access to the typed collection of pieces of text inside the paragraph.

Methods

Name Description
accept(visitor) Accepts a visitor.
append_child(new_child) Adds the specified node to the end of the list of child nodes for this node.
(Inherited from CompositeNode)
append_field(field_type, update_field) Appends a field to this paragraph.
append_field(field_code) Appends a field to this paragraph.
append_field(field_code, field_value) Appends a field to this paragraph.
clone(is_clone_children) Creates a duplicate of the node.
(Inherited from Node)
get_ancestor(ancestor_type) Gets the first ancestor of the specified NodeType.
(Inherited from Node)
get_child(node_type, index, is_deep) Returns an Nth child node that matches the specified type.
(Inherited from CompositeNode)
get_child_nodes(node_type, is_deep) Returns a live collection of child nodes that match the specified type.
(Inherited from CompositeNode)
get_effective_tab_stops() Returns array of all tab stops applied to this paragraph, including applied indirectly by styles or lists.
get_text() Gets the text of this paragraph including the end of paragraph character.
index_of(child) Returns the index of the specified child node in the child node array.
(Inherited from CompositeNode)
insert_after(new_child, ref_child) Inserts the specified node immediately after the specified reference node.
(Inherited from CompositeNode)
insert_before(new_child, ref_child) Inserts the specified node immediately before the specified reference node.
(Inherited from CompositeNode)
insert_field(field_type, update_field, ref_node, is_after) Inserts a field into this paragraph.
insert_field(field_code, ref_node, is_after) Inserts a field into this paragraph.
insert_field(field_code, field_value, ref_node, is_after) Inserts a field into this paragraph.
join_runs_with_same_formatting() Joins runs with the same formatting in the paragraph.
next_pre_order(root_node) Gets next node according to the pre-order tree traversal algorithm.
(Inherited from Node)
node_type_to_string(node_type) A utility method that converts a node type enum value into a user friendly string.
(Inherited from Node)
prepend_child(new_child) Adds the specified node to the beginning of the list of child nodes for this node.
(Inherited from CompositeNode)
previous_pre_order(root_node) Gets the previous node according to the pre-order tree traversal algorithm.
(Inherited from Node)
remove() Removes itself from the parent.
(Inherited from Node)
remove_all_children() Removes all the child nodes of the current node.
(Inherited from CompositeNode)
remove_child(old_child) Removes the specified child node.
(Inherited from CompositeNode)
remove_smart_tags() Removes all SmartTag descendant nodes of the current node.
(Inherited from CompositeNode)
select_nodes(xpath) Selects a list of nodes matching the XPath expression.
(Inherited from CompositeNode)
select_single_node(xpath) Selects the first Node that matches the XPath expression.
(Inherited from CompositeNode)
to_string(save_format) Exports the content of the node into a string in the specified format.
(Inherited from Node)
to_string(save_options) Exports the content of the node into a string using the specified save options.
(Inherited from Node)

Examples

Shows how to construct an Aspose.Words document by hand.

doc = aw.Document()

# A blank document contains one section, one body and one paragraph.
# Call the "remove_all_children" method to remove all those nodes,
# and end up with a document node with no children.
doc.remove_all_children()

# This document now has no composite child nodes that we can add content to.
# If we wish to edit it, we will need to repopulate its node collection.
# First, create a new section, and then append it as a child to the root document node.
section = aw.Section(doc)
doc.append_child(section)

# Set some page setup properties for the section.
section.page_setup.section_start = aw.SectionStart.NEW_PAGE
section.page_setup.paper_size = aw.PaperSize.LETTER

# A section needs a body, which will contain and display all its contents
# on the page between the section's header and footer.
body = aw.Body(doc)
section.append_child(body)

# Create a paragraph, set some formatting properties, and then append it as a child to the body.
para = aw.Paragraph(doc)

para.paragraph_format.style_name = "Heading 1"
para.paragraph_format.alignment = aw.ParagraphAlignment.CENTER

body.append_child(para)

# Finally, add some content to do the document. Create a run,
# set its appearance and contents, and then append it as a child to the paragraph.
run = aw.Run(doc)
run.text = "Hello World!"
run.font.color = drawing.Color.red
para.append_child(run)

self.assertEqual("Hello World!", doc.get_text().strip())

doc.save(ARTIFACTS_DIR + "Section.create_manually.docx")

See Also