Aspose::Words::Run class
Содержание
[
Скрывать
]Run class
Представляет последовательность символов с одинаковым форматированием шрифта. Чтобы узнать больше, посетите статью документации Programming with Documents.
class Run : public Aspose::Words::Inline
Методы
| Метод | Описание |
|---|---|
| Accept(System::SharedPtr<Aspose::Words::DocumentVisitor>) override | Принимает посетителя. |
| Clone(bool) | Создаёт дубликат узла. |
| get_CustomNodeId() const | Указывает пользовательский идентификатор узла. |
| virtual get_Document() const | Возвращает документ, к которому принадлежит этот узел. |
| get_Font() | Предоставляет доступ к форматированию шрифта этого объекта. |
| virtual get_IsComposite() | Возвращает true, если этот узел может содержать другие узлы. |
| get_IsDeleteRevision() | Возвращает true, если этот объект был удалён в Microsoft Word при включённом отслеживании изменений. |
| get_IsFormatRevision() | Возвращает true, если форматирование объекта было изменено в Microsoft Word при включённом отслеживании изменений. |
| get_IsInsertRevision() | Возвращает true, если этот объект был вставлен в Microsoft Word при включённом отслеживании изменений. |
| get_IsMoveFromRevision() | Возвращает true, если этот объект был перемещён (удалён) в Microsoft Word при включённом отслеживании изменений. |
| get_IsMoveToRevision() | Возвращает true, если этот объект был перемещён (вставлен) в Microsoft Word при включённом отслеживании изменений. |
| get_IsPhoneticGuide() | Возвращает логическое значение, указывающее, является ли прогон фонетическим руководством. |
| get_NextNode() const | |
| get_NextSibling() | Возвращает узел, непосредственно следующий за этим узлом. |
| get_NodeType() const override | Возвращает Run. |
| get_ParentNode() | Возвращает непосредственного родителя этого узла. |
| get_ParentParagraph() | Получает родительский Paragraph этого узла. |
| get_PhoneticGuide() | Возвращает объект PhoneticGuide. |
| get_PreviousSibling() | Возвращает узел, непосредственно предшествующий этому узлу. |
| get_PrevNode() const | |
| get_Range() | Возвращает объект Range, представляющий часть документа, содержащуюся в этом узле. |
| get_Text() const | Получает или задает текст прогона. |
| GetAncestor(Aspose::Words::NodeType) | Получает первого предка указанного NodeType. |
| GetAncestorOf() | |
| GetText() override | Получает текст прогона. |
| GetType() const override | |
| Is(const System::TypeInfo&) const override | |
| IsAncestorNode(const System::SharedPtr<Aspose::Words::Node>&) | |
| NextPreOrder(const System::SharedPtr<Aspose::Words::Node>&) | Получает следующий узел согласно алгоритму обхода дерева в порядке предобхода. |
| static NodeTypeToString(Aspose::Words::NodeType) | Вспомогательный метод, преобразующий значение перечисления типа узла в удобочитаемую строку. |
| PreviousPreOrder(const System::SharedPtr<Aspose::Words::Node>&) | Получает предыдущий узел согласно алгоритму обхода дерева в порядке предобхода. |
| Remove() | Удаляет себя из родительского узла. |
| Run(const System::SharedPtr<Aspose::Words::DocumentBase>&) | Инициализирует новый экземпляр класса Run. |
| Run(const System::SharedPtr<Aspose::Words::DocumentBase>&, const System::String&) | Инициализирует новый экземпляр класса Run. |
| set_CustomNodeId(int32_t) | Сеттер для Aspose::Words::Node::get_CustomNodeId. |
| set_NextNode(const System::SharedPtr<Aspose::Words::Node>&) | |
| set_PrevNode(const System::SharedPtr<Aspose::Words::Node>&) | |
| set_Text(const System::String&) | Сеттер для Aspose::Words::Run::get_Text. |
| SetParent(const System::SharedPtr<Aspose::Words::Node>&) | |
| ToString(Aspose::Words::SaveFormat) | Экспортирует содержимое узла в строку в указанном формате. |
| ToString(const System::SharedPtr<Aspose::Words::Saving::SaveOptions>&) | Экспортирует содержимое узла в строку, используя указанные параметры сохранения. |
| static Type() |
Примечания
Весь текст документа хранится в run’ах.
Run can only be a child of Paragraph or inline StructuredDocumentTag.
Примеры
Показывает, как форматировать run текста, используя его свойство font.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto run = System::MakeObject<Aspose::Words::Run>(doc, u"Hello world!");
System::SharedPtr<Aspose::Words::Font> font = run->get_Font();
font->set_Name(u"Courier New");
font->set_Size(36);
font->set_HighlightColor(System::Drawing::Color::get_Yellow());
doc->get_FirstSection()->get_Body()->get_FirstParagraph()->AppendChild<System::SharedPtr<Aspose::Words::Run>>(run);
doc->Save(get_ArtifactsDir() + u"Font.CreateFormattedRun.docx");
Показывает, как добавить, обновить и удалить дочерние узлы в коллекции дочерних элементов CompositeNode.
auto doc = System::MakeObject<Aspose::Words::Document>();
// Пустой документ по умолчанию содержит один абзац.
ASSERT_EQ(1, doc->get_FirstSection()->get_Body()->get_Paragraphs()->get_Count());
// Составные узлы, такие как наш абзац, могут содержать другие составные и встроенные узлы в качестве дочерних.
System::SharedPtr<Aspose::Words::Paragraph> paragraph = doc->get_FirstSection()->get_Body()->get_FirstParagraph();
auto paragraphText = System::MakeObject<Aspose::Words::Run>(doc, u"Initial text. ");
paragraph->AppendChild<System::SharedPtr<Aspose::Words::Run>>(paragraphText);
// Создайте ещё три узла run.
auto run1 = System::MakeObject<Aspose::Words::Run>(doc, u"Run 1. ");
auto run2 = System::MakeObject<Aspose::Words::Run>(doc, u"Run 2. ");
auto run3 = System::MakeObject<Aspose::Words::Run>(doc, u"Run 3. ");
// Тело документа не будет отображать эти run'ы, пока мы не вставим их в составной узел
// который сам является частью дерева узлов документа, как мы сделали с первым run.
// Мы можем определить, где будет находиться текстовое содержимое узлов, которые мы вставляем
// в документе, указав место вставки относительно другого узла в абзаце.
ASSERT_EQ(u"Initial text.", paragraph->GetText().Trim());
// Вставьте второй run в абзац перед начальным run.
paragraph->InsertBefore<System::SharedPtr<Aspose::Words::Run>>(run2, paragraphText);
ASSERT_EQ(u"Run 2. Initial text.", paragraph->GetText().Trim());
// Вставьте третий run после начального run.
paragraph->InsertAfter<System::SharedPtr<Aspose::Words::Run>>(run3, paragraphText);
ASSERT_EQ(u"Run 2. Initial text. Run 3.", paragraph->GetText().Trim());
// Вставьте первый run в начало коллекции дочерних узлов абзаца.
paragraph->PrependChild<System::SharedPtr<Aspose::Words::Run>>(run1);
ASSERT_EQ(u"Run 1. Run 2. Initial text. Run 3.", paragraph->GetText().Trim());
ASSERT_EQ(4, paragraph->GetChildNodes(Aspose::Words::NodeType::Any, true)->get_Count());
// Мы можем изменить содержимое run, редактируя и удаляя существующие дочерние узлы.
(System::ExplicitCast<Aspose::Words::Run>(paragraph->GetChildNodes(Aspose::Words::NodeType::Run, true)->idx_get(1)))->set_Text(u"Updated run 2. ");
paragraph->GetChildNodes(Aspose::Words::NodeType::Run, true)->Remove(paragraphText);
ASSERT_EQ(u"Run 1. Updated run 2. Run 3.", paragraph->GetText().Trim());
ASSERT_EQ(3, paragraph->GetChildNodes(Aspose::Words::NodeType::Any, true)->get_Count());
Показывает, как вручную построить документ Aspose.Words.
auto doc = System::MakeObject<Aspose::Words::Document>();
// Пустой документ содержит один раздел, одно тело и один абзац.
// Вызовите метод "RemoveAllChildren", чтобы удалить все эти узлы,
// и в результате получите узел документа без дочерних элементов.
doc->RemoveAllChildren();
// У этого документа теперь нет составных дочерних узлов, к которым мы могли бы добавить содержимое.
// Если мы захотим отредактировать его, нам потребуется заново заполнить его коллекцию узлов.
// Сначала создайте новый раздел, а затем добавьте его как дочерний элемент к корневому узлу документа.
auto section = System::MakeObject<Aspose::Words::Section>(doc);
doc->AppendChild<System::SharedPtr<Aspose::Words::Section>>(section);
// Установите некоторые свойства разметки страницы для раздела.
section->get_PageSetup()->set_SectionStart(Aspose::Words::SectionStart::NewPage);
section->get_PageSetup()->set_PaperSize(Aspose::Words::PaperSize::Letter);
// Разделу требуется тело, которое будет содержать и отображать всё его содержимое
// на странице между заголовком и нижним колонтитулом раздела.
auto body = System::MakeObject<Aspose::Words::Body>(doc);
section->AppendChild<System::SharedPtr<Aspose::Words::Body>>(body);
// Создайте абзац, задайте некоторые свойства форматирования и затем добавьте его как дочерний элемент к телу.
auto para = System::MakeObject<Aspose::Words::Paragraph>(doc);
para->get_ParagraphFormat()->set_StyleName(u"Heading 1");
para->get_ParagraphFormat()->set_Alignment(Aspose::Words::ParagraphAlignment::Center);
body->AppendChild<System::SharedPtr<Aspose::Words::Paragraph>>(para);
// Наконец, добавьте некоторое содержимое в документ. Создайте объект Run,
// задайте его внешний вид и содержимое, а затем добавьте его как дочерний элемент к абзацу.
auto run = System::MakeObject<Aspose::Words::Run>(doc);
run->set_Text(u"Hello World!");
run->get_Font()->set_Color(System::Drawing::Color::get_Red());
para->AppendChild<System::SharedPtr<Aspose::Words::Run>>(run);
ASSERT_EQ(u"Hello World!", doc->GetText().Trim());
doc->Save(get_ArtifactsDir() + u"Section.CreateManually.docx");
См. также
- Class Inline
- Namespace Aspose::Words
- Library Aspose.Words for C++