Paragraph class

Paragraph class

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

Remarks

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

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

Properties

NameDescription
break_is_style_separatorTrue if this paragraph break is a Style Separator. A style separator allows one paragraph to consist of parts that have different paragraph styles.
countGets the number of immediate children of this node.
(Inherited from CompositeNode)
custom_node_idSpecifies custom node identifier.
(Inherited from Node)
documentGets the document to which this node belongs.
(Inherited from Node)
first_childGets the first child of the node.
(Inherited from CompositeNode)
frame_formatProvides access to the frame formatting properties.
has_child_nodesReturns True if this node has any child nodes.
(Inherited from CompositeNode)
is_compositeReturns True if this node can contain other nodes.
(Inherited from Node)
is_delete_revisionReturns true if this object was deleted in Microsoft Word while change tracking was enabled.
is_end_of_cellTrue if this paragraph is the last paragraph in a Cell; false otherwise.
is_end_of_documentTrue if this paragraph is the last paragraph in the last section of the document.
is_end_of_header_footerTrue if this paragraph is the last paragraph in the HeaderFooter (main text story) of a Section; false otherwise.
is_end_of_sectionTrue if this paragraph is the last paragraph in the Body (main text story) of a Section; false otherwise.
is_format_revisionReturns true if formatting of the object was changed in Microsoft Word while change tracking was enabled.
is_in_cellTrue if this paragraph is an immediate child of Cell; false otherwise.
is_insert_revisionReturns true if this object was inserted in Microsoft Word while change tracking was enabled.
is_list_itemTrue when the paragraph is an item in a bulleted or numbered list in original revision.
is_move_from_revisionReturns True if this object was moved (deleted) in Microsoft Word while change tracking was enabled.
is_move_to_revisionReturns True if this object was moved (inserted) in Microsoft Word while change tracking was enabled.
last_childGets the last child of the node.
(Inherited from CompositeNode)
list_formatProvides access to the list formatting properties of the paragraph.
list_labelGets a Paragraph.list_label object that provides access to list numbering value and formatting for this paragraph.
next_siblingGets the node immediately following this node.
(Inherited from Node)
node_typeReturns NodeType.PARAGRAPH.
paragraph_break_fontProvides access to the font formatting of the paragraph break character.
paragraph_formatProvides access to the paragraph formatting properties.
parent_nodeGets the immediate parent of this node.
(Inherited from Node)
parent_sectionRetrieves the parent Section of the paragraph.
parent_storyRetrieves the parent section-level story that can be Body or HeaderFooter.
previous_siblingGets the node immediately preceding this node.
(Inherited from Node)
rangeReturns a Range object that represents the portion of a document that is contained in this node.
(Inherited from Node)
runsProvides access to the typed collection of pieces of text inside the paragraph.

Methods

NameDescription
accept(visitor)Accepts a visitor.
accept_end(visitor)Accepts a visitor for visiting the end of the document’s paragraph.
accept_start(visitor)Accepts a visitor for visiting the start of the document’s paragraph.
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 object type.
(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