Aspose::Words::Node::ToString method
Contents
[
Hide
]Node::ToString(Aspose::Words::SaveFormat) method
Exports the content of the node into a string in the specified format.
System::String Aspose::Words::Node::ToString(Aspose::Words::SaveFormat saveFormat)
ReturnValue
The content of the node in the specified format.
Examples
Shows the difference between calling the GetText and ToString methods on a node.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
builder->InsertField(u"MERGEFIELD Field");
// GetText will retrieve the visible text as well as field codes and special characters.
ASSERT_EQ(u"\u0013MERGEFIELD Field\u0014«Field»\u0015", doc->GetText().Trim());
// ToString will give us the document's appearance if saved to a passed save format.
ASSERT_EQ(u"«Field»", doc->ToString(Aspose::Words::SaveFormat::Text).Trim());
Shows how to extract the list labels of all paragraphs that are list items.
auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Rendering.docx");
doc->UpdateListLabels();
System::SharedPtr<Aspose::Words::NodeCollection> paras = doc->GetChildNodes(Aspose::Words::NodeType::Paragraph, true);
// Find if we have the paragraph list. In our document, our list uses plain Arabic numbers,
// which start at three and ends at six.
for (auto&& paragraph : paras->LINQ_OfType<System::SharedPtr<Aspose::Words::Paragraph> >()->LINQ_Where(static_cast<System::Func<System::SharedPtr<Aspose::Words::Paragraph>, bool>>(static_cast<std::function<bool(System::SharedPtr<Aspose::Words::Paragraph> p)>>([](System::SharedPtr<Aspose::Words::Paragraph> p) -> bool
{
return p->get_ListFormat()->get_IsListItem();
})))->LINQ_ToList())
{
std::cout << System::String::Format(u"List item paragraph #{0}", paras->IndexOf(paragraph)) << std::endl;
// This is the text we get when getting when we output this node to text format.
// This text output will omit list labels. Trim any paragraph formatting characters.
System::String paragraphText = paragraph->ToString(Aspose::Words::SaveFormat::Text).Trim();
std::cout << System::String::Format(u"\tExported Text: {0}", paragraphText) << std::endl;
System::SharedPtr<Aspose::Words::Lists::ListLabel> label = paragraph->get_ListLabel();
// This gets the position of the paragraph in the current level of the list. If we have a list with multiple levels,
// this will tell us what position it is on that level.
std::cout << System::String::Format(u"\tNumerical Id: {0}", label->get_LabelValue()) << std::endl;
// Combine them together to include the list label with the text in the output.
std::cout << System::String::Format(u"\tList label combined with text: {0} {1}", label->get_LabelString(), paragraphText) << std::endl;
}
Exports the content of a node to String in HTML format.
auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Document.docx");
System::SharedPtr<Aspose::Words::Node> node = doc->get_LastSection()->get_Body()->get_LastParagraph();
// When we call the ToString method using the html SaveFormat overload,
// it converts the node's contents to their raw html representation.
ASSERT_EQ(System::String(u"<p style=\"margin-top:0pt; margin-bottom:8pt; line-height:108%; font-size:12pt\">") + u"<span style=\"font-family:'Times New Roman'\">Hello World!</span>" + u"</p>", node->ToString(Aspose::Words::SaveFormat::Html));
// We can also modify the result of this conversion using a SaveOptions object.
auto saveOptions = System::MakeObject<Aspose::Words::Saving::HtmlSaveOptions>();
saveOptions->set_ExportRelativeFontSize(true);
ASSERT_EQ(System::String(u"<p style=\"margin-top:0pt; margin-bottom:8pt; line-height:108%\">") + u"<span style=\"font-family:'Times New Roman'\">Hello World!</span>" + u"</p>", node->ToString(saveOptions));
See Also
- Enum SaveFormat
- Class Node
- Namespace Aspose::Words
- Library Aspose.Words for C++
Node::ToString(const System::SharedPtr<Aspose::Words::Saving::SaveOptions>&) method
Exports the content of the node into a string using the specified save options.
System::String Aspose::Words::Node::ToString(const System::SharedPtr<Aspose::Words::Saving::SaveOptions> &saveOptions)
Parameter | Type | Description |
---|---|---|
saveOptions | const System::SharedPtr<Aspose::Words::Saving::SaveOptions>& | Specifies the options that control how the node is saved. |
ReturnValue
The content of the node in the specified format.
Examples
Exports the content of a node to String in HTML format.
auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Document.docx");
System::SharedPtr<Aspose::Words::Node> node = doc->get_LastSection()->get_Body()->get_LastParagraph();
// When we call the ToString method using the html SaveFormat overload,
// it converts the node's contents to their raw html representation.
ASSERT_EQ(System::String(u"<p style=\"margin-top:0pt; margin-bottom:8pt; line-height:108%; font-size:12pt\">") + u"<span style=\"font-family:'Times New Roman'\">Hello World!</span>" + u"</p>", node->ToString(Aspose::Words::SaveFormat::Html));
// We can also modify the result of this conversion using a SaveOptions object.
auto saveOptions = System::MakeObject<Aspose::Words::Saving::HtmlSaveOptions>();
saveOptions->set_ExportRelativeFontSize(true);
ASSERT_EQ(System::String(u"<p style=\"margin-top:0pt; margin-bottom:8pt; line-height:108%\">") + u"<span style=\"font-family:'Times New Roman'\">Hello World!</span>" + u"</p>", node->ToString(saveOptions));
See Also
- Class SaveOptions
- Class Node
- Namespace Aspose::Words
- Library Aspose.Words for C++