Навигация с помощью курсора

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

В коротком документе легко перемещаться по тексту, поскольку вы можете перемещать точку вставки, даже используя клавиши со стрелками на клавиатуре или щелкая мышью, чтобы найти точку вставки в нужном месте. Но если у вас большой документ с большим количеством страниц, этих базовых методов будет недостаточно.

В этой статье объясняется, как перемещаться по документу и перемещаться с помощью виртуального курсора к различным его частям.

Определение текущего положения курсора

Прежде чем начать процесс навигации по документу, вам нужно будет указать узел, который выбран в данный момент. Вы можете получить точное положение курсора на выбранном узле, используя свойство CurrentNode. Кроме того, вместо получения текущего узла вы можете получить текущий выбранный абзац или текущий выбранный раздел, используя свойства CurrentParagraph и CurrentSection.

Все операции вставки, которые вы выполняете с помощью DocumentBuilder, будут вставлены перед CurrentNode. Если текущий абзац пуст или курсор установлен непосредственно перед концом абзаца, CurrentNode возвращает значение null.

Методы навигации по документу

Когда вы редактируете текст, важно знать, как перемещаться по документу и куда именно перемещаться в нем. Aspose.Words позволяет перемещаться по документу и переходить к его различным разделам и частям – это аналогично функциональности панели навигации в Microsoft Word для перехода к странице или заголовку в документе Word без прокрутки.

Основной метод заключается в том, чтобы иметь возможность перемещать положение курсора на определенный узел в вашем документе, вы можете добиться этого, используя метод MoveTo.

В следующем примере кода показано, как переместить DocumentBuilder в разные узлы документа:

Но помимо базового метода MoveTo, есть и более специфичные.

Перейдите к началу или концу документа

Вы можете перейти к началу или концу вашего документа, используя методы MoveToDocumentStart и MoveToDocumentEnd.

В следующем примере кода показано, как переместить курсор в начало или конец документа:

Навигация с помощью закладок

Вы можете отметить место, которое хотите найти, и легко перейти к нему снова. Вы можете вставить в документ столько закладок, сколько захотите, а затем перемещаться по ним, присваивая закладкам уникальные названия. Вы можете перейти к закладке, используя метод MoveToBookmark.

В следующих примерах кода показано, как переместить курсор на закладку:

Перейдите к ячейкам таблицы

Вы можете перейти к ячейке таблицы, используя метод MoveToCell. Этот метод позволит вам переместить курсор в любую ячейку определенной таблицы. Кроме того, вы можете указать индекс для перемещения курсора в любую позицию или на указанный символ в ячейке с помощью метода MoveToCell.

В следующем примере кода показано, как переместить курсор в указанную ячейку таблицы:

Перейдите к полю

Вы можете перейти к определенному полю в вашем документе, используя метод MoveToField. Кроме того, вы можете перейти к определенному полю объединения, используя метод MoveToMergeField.

В следующем примере кода показано, как переместить курсор конструктора документов на определенное поле:

Перейдите к верхнему или нижнему колонтитулу

Вы можете перейти к началу верхнего или нижнего колонтитула, используя метод MoveToHeaderFooter.

В следующем примере кода показано, как переместить курсор конструктора документов в верхний или нижний колонтитул документа:

Перейдите к разделу или абзацу

Вы можете перейти к определенному разделу или абзацу, используя методы MoveToParagraph или MoveToSection. Кроме того, вы можете указать индекс для перемещения курсора в любую позицию или на указанный символ в абзаце с помощью метода MoveToParagraph.

В следующем примере кода показано, как перейти к определенному разделу и конкретному абзацу в документе: