Работа со стилями и темами

The StyleCollection Класс используется для управления встроенными и применения пользовательских настроек к стилям.

Доступ к стилям

Вы можете получить набор стилей, определенных в документе, используя Document.Styles собственность. Эта коллекция содержит как встроенные, так и пользовательские стили в документе. Определенный стиль может быть получен по его имени / алии, идентификатору стиля или индексу. Следующий пример кода показывает, как получить доступ к набору стилей, определенных в документе.

Как извлечь контент на основе стилей

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

Чтобы сделать это еще на несколько шагов, можно также использовать структуру документа, определяемую используемыми стилями, для переназначения документа для другого вывода, такого как HTML. Именно так строится документация Aspose, ставя Aspose.Words На тест. Инструмент, построенный с использованием Aspose.Words берет исходные документы Word и разделяет их на темы на определенных уровнях заголовков. XML-файл создается с использованием Aspose.Words Используется для построения дерева навигации, которое можно увидеть слева. А потом Aspose.Words Преобразует каждую тему в HTML.

Решение для извлечения текста, отформатированного с определенными стилями в документе Word, обычно экономично и просто. Aspose.Words.

Решение

Чтобы показать, как легко Aspose.Words обрабатывает извлечение контента на основе стилей, давайте рассмотрим пример. В этом примере мы собираемся извлечь текст, отформатированный с определенным стилем абзаца и стилем символа из образца документа Word. На высоком уровне это будет включать: # Открытие документа Word с помощью Document Класс.# Получение коллекций всех параграфов и всех запускается в документе. Выберите только необходимые пункты и запустите. В частности, мы получим текст, отформатированный в стиле абзаца “Глава 1” и стиле персонажа “Интенсивный акцент” из этого образца документа Word.

working-with-styles-and-themes-aspose-words-net

В этом примере документа текст, отформатированный в стиле абзаца заголовка 1, представляет собой “Insert Tab”, “Quick Styles” и “Theme”, а текст, отформатированный в стиле символов “Intense emphasis”, представляет собой несколько экземпляров синего, курсивного, смелого текста, такого как “галереи” и “общий вид”.

Кодекс

Реализация стилистического запроса довольно проста в Aspose.Words Модель объекта документа, так как она просто использует инструменты, которые уже существуют. Для этого решения используются два метода классов: ParagraphsByStyleName - Этот метод извлекает массив из тех пунктов в документе, которые имеют определенное название стиля. RunsByStyleName - Этот метод извлекает множество тех заданий в документе, которые имеют определенное название стиля. Оба эти метода очень похожи, единственными отличиями являются типы узлов и представление информации о стиле в абзаце и узлах запуска. Вот пример реализации пунктов ByStyleName: Ниже приведены примеры всех абзацев, отформатированных в указанном стиле.

Также стоит отметить, что сбор абзацев не создает непосредственных накладных расходов, потому что абзацы загружаются в эту коллекцию только при доступе к элементам в них. Затем все, что вам нужно сделать, это пройтись по коллекции, используя стандартный для каждого оператора и добавить абзацы, которые имеют указанный стиль к абзацам. С набором стилей. The Paragraph Название стиля можно найти в Style.Name имуществом, Paragraph.ParagraphFormat объект. Реализация RunsByStyleName почти такая же, хотя мы, очевидно, используем NodeType.Run для извлечения запущенных узлов. The Font.Style свойство а Run объект используется для доступа к информации о стиле в Run Узлы. Ниже приведен пример всех прогонов, отформатированных с указанным стилем.

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

Конечный результат

Когда все будет сделано, запуск образца будет отображать следующий вывод:

styles-and-themes-aspose-words-net

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

Все стили из шаблона

Бывают случаи, когда хочется скопировать все стили из одного документа в другой. Вы можете использовать Document.CopyStylesFromTemplate метод копирования стилей из указанного шаблона в документ. Когда стили копируются из шаблона в документ, аналогичные стили в документе переопределяются, чтобы соответствовать описаниям стилей в шаблоне. Уникальные стили из шаблона копируются в документ. Уникальные стили в документе остаются нетронутыми. бытьlow code Пример показывает, как копировать стили из одного документа в другой.

Как манипулировать Тематические свойства

Мы добавили основные API в Aspose.Words Доступ к свойствам темы документа. На данный момент это API Включает следующие общественные объекты:

  • Тема
  • Тематические фонтаны
  • Тематические цвета

Вот как вы можете получить свойства темы:

И вот как вы можете установить свойства темы: