ParagraphCollection class

Provides typed access to a collection of Paragraph nodes. To learn more, visit the Working with Paragraphs documentation article.

class ParagraphCollection : public Aspose::Words::NodeCollection


Method Description
Add(const System::SharedPtr<Aspose::Words::Node>&) Adds a node to the end of the collection.
Clear() Removes all nodes from this collection and from the document.
Contains(const System::SharedPtr<Aspose::Words::Node>&) Determines whether a node is in the collection.
get_Count() Gets the number of nodes in the collection.
GetEnumerator() override Provides a simple “foreach” style iteration over the collection of nodes.
GetType() const override
idx_get(int32_t) Retrieves a Paragraph at the given index.
IndexOf(const System::SharedPtr<Aspose::Words::Node>&) Returns the zero-based index of the specified node.
Insert(int32_t, const System::SharedPtr<Aspose::Words::Node>&) Inserts a node into the collection at the specified index.
Is(const System::TypeInfo&) const override
Remove(const System::SharedPtr<Aspose::Words::Node>&) Removes the node from the collection and from the document.
RemoveAt(int32_t) Removes the node at the specified index from the collection and from the document.
ToArray() Copies all paragraphs from the collection to a new array of paragraphs.
static Type()


Shows how to check whether a paragraph is a move revision.

auto doc = MakeObject<Document>(MyDir + u"Revisions.docx");

// This document contains "Move" revisions, which appear when we highlight text with the cursor,
// and then drag it to move it to another location
// while tracking revisions in Microsoft Word via "Review" -> "Track changes".
ASSERT_EQ(6, doc->get_Revisions()->LINQ_Count([](SharedPtr<Revision> r) { return r->get_RevisionType() == RevisionType::Moving; }));

SharedPtr<ParagraphCollection> paragraphs = doc->get_FirstSection()->get_Body()->get_Paragraphs();

// Move revisions consist of pairs of "Move from", and "Move to" revisions.
// These revisions are potential changes to the document that we can either accept or reject.
// Before we accept/reject a move revision, the document
// must keep track of both the departure and arrival destinations of the text.
// The second and the fourth paragraph define one such revision, and thus both have the same contents.
ASSERT_EQ(paragraphs->idx_get(1)->GetText(), paragraphs->idx_get(3)->GetText());

// The "Move from" revision is the paragraph where we dragged the text from.
// If we accept the revision, this paragraph will disappear,
// and the other will remain and no longer be a revision.

// The "Move to" revision is the paragraph where we dragged the text to.
// If we reject the revision, this paragraph instead will disappear, and the other will remain.

See Also