InlineStory

InlineStory class

Базовый класс для узлов строчного уровня, которые могут содержать абзацы и таблицы.

Чтобы узнать больше, посетитеЛогические уровни узлов в документе статья документации.

public abstract class InlineStory : CompositeNode

Характеристики

ИмяОписание
Count { get; }Получает количество непосредственных дочерних элементов этого узла.
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
virtual Document { get; }Получает документ, которому принадлежит этот узел.
FirstChild { get; }Получает первого дочернего элемента узла.
FirstParagraph { get; }Получает первый абзац статьи.
Font { get; }Предоставляет доступ к форматированию шрифта символа привязки этого объекта.
HasChildNodes { get; }Возвращаетистинный если у этого узла есть дочерние узлы.
override IsComposite { get; }Возвращаетистинный поскольку этот узел может иметь дочерние узлы.
IsDeleteRevision { get; }Возвращает true, если этот объект был удален в Microsoft Word при включенном отслеживании изменений.
IsInsertRevision { get; }Возвращает true, если этот объект был вставлен в Microsoft Word при включенном отслеживании изменений.
IsMoveFromRevision { get; }Возвращаетистинный если этот объект был перемещен (удален) в Microsoft Word при включенном отслеживании изменений.
IsMoveToRevision { get; }Возвращаетистинный если этот объект был перемещен (вставлен) в Microsoft Word при включенном отслеживании изменений.
LastChild { get; }Получает последнего дочернего узла узла.
LastParagraph { get; }Получает последний абзац истории.
NextSibling { get; }Получает узел, следующий сразу за этим узлом.
abstract NodeType { get; }Получает тип этого узла.
Paragraphs { get; }Получает коллекцию абзацев, которые являются непосредственными дочерними элементами истории.
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentParagraph { get; }Получает родительский элементParagraph этого узла.
PreviousSibling { get; }Получает узел, непосредственно предшествующий этому узлу.
Range { get; }ВозвращаетRange объект, представляющий часть документа, содержащуюся в этом узле.
abstract StoryType { get; }Возвращает тип истории.
Tables { get; }Получает коллекцию таблиц, которые являются непосредственными дочерними элементами истории.

Методы

ИмяОписание
abstract Accept(DocumentVisitor)Принимает посетителя.
AppendChild(Node)Добавляет указанный узел в конец списка дочерних узлов для этого узла.
Clone(bool)Создает дубликат узла.
CreateNavigator()Создает навигатор, который можно использовать для перемещения и чтения узлов.
EnsureMinimum()Если последний дочерний элемент не является абзацем, создается и добавляется один пустой абзац.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля над дочерними узлами этого узла.
override GetText()Получает текст этого узла и всех его дочерних элементов.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter(NodeNode)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore(NodeNode)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
PrependChild(Node)Добавляет указанный узел в начало списка дочерних узлов для этого узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
Remove()Удаляет себя от родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild(Node)Удаляет указанный дочерний узел.
RemoveSmartTags()Удаляет всеSmartTagузлы-потомки текущего узла.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первыйNode которое соответствует выражению XPath.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.

Примечания

InlineStory представляет собой контейнер для узлов уровня блокаParagraph иTable.

Классы, производные отInlineStory являются узлами строчного уровня, которые могут содержать собственный текст (абзацы и таблицы). Например,Comment узел содержит текст comment иFootnote содержит текст сноски.

Примеры

Показывает, как добавить комментарий к абзацу.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("Hello world!");

Comment comment = new Comment(doc, "John Doe", "JD", DateTime.Today);
builder.CurrentParagraph.AppendChild(comment);
builder.MoveTo(comment.AppendChild(new Paragraph(doc)));
builder.Write("Comment text.");

Assert.AreEqual(DateTime.Today, comment.DateTime);

 // В Microsoft Word мы можем щелкнуть правой кнопкой мыши этот комментарий в теле документа, чтобы отредактировать его или ответить на него.
doc.Save(ArtifactsDir + "InlineStory.AddComment.docx");

Показывает, как вставлять и настраивать сноски.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Добавляем текст и ссылаемся на него с помощью сноски. В этой сноске будет помещена небольшая надстрочная ссылка.
// отмечаем после текста, на который он ссылается, и создаем запись под основным текстом внизу страницы.
// Эта запись будет содержать знак ссылки на сноску и текст ссылки,
// который мы передадим методу компоновщика документов "InsertFootnote".
builder.Write("Main body text.");
Footnote footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// Если для этого свойства установлено значение «true», то ссылочный знак нашей сноски
// будет его индексом среди всех сносок раздела.
// Это первая сноска, поэтому контрольной отметкой будет «1».
Assert.True(footnote.IsAuto);

 // Мы можем переместить конструктор документа внутрь сноски, чтобы редактировать ссылочный текст.
builder.MoveTo(footnote.FirstParagraph);
builder.Write(" More text added by a DocumentBuilder.");
builder.MoveToDocumentEnd();

Assert.AreEqual("\u0002 Footnote text. More text added by a DocumentBuilder.", footnote.GetText().Trim());

builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// Мы можем установить собственный ссылочный знак, который будет использоваться в сноске вместо порядкового номера.
footnote.ReferenceMark = "RefMark";

Assert.False(footnote.IsAuto);

// Закладка с флагом «IsAuto», установленным в true, все равно будет показывать свой реальный индекс
// даже если предыдущие закладки отображают пользовательские метки, метка этой закладки будет «3».
builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

Assert.True(footnote.IsAuto);

doc.Save(ArtifactsDir + "InlineStory.AddFootnote.docx");

Смотрите также