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

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

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

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

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

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

На высоком уровне это будет включать:

  1. Открытие документа Word с помощью Document класс.
  2. Получение сборников всех параграфов и всех запускается в документе.
  3. Выберите только необходимые пункты и запустите.

В частности, мы получим текст, отформатированный в стиле абзаца “Голова 1” и стиле персонажа “Интенсивный акцент” из этого образца документа Word

working-with-styles-aspose-words-java-1

В этом примере документа текст, отформатированный в стиле абзаца “Глава 1”, представляет собой “Вставить вкладку”, “Быстрые стили” и “Тема”, а текст, отформатированный в стиле символов “Интенсивный акцент”, представляет собой несколько экземпляров синего, курсивного, смелого текста, такого как “галереи” и “общий вид”.

Реализация запроса на основе стиля довольно проста в Aspose.Words Модель объекта документа, так как она просто использует инструменты, которые уже существуют. Для этого решения реализованы два класса методов:

  1. ParagraphsByStyleName - Этот метод извлекает массив из тех пунктов в документе, которые имеют определенное название стиля.
  2. RunsByStyleName - Этот метод извлекает множество тех заданий в документе, которые имеют определенное название стиля.

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

Эта реализация также использует Document.getChildNodes() Методика Document класс, который возвращает коллекцию всех непосредственных узлов ребенка.

Также стоит отметить, что сбор абзацев не создает непосредственных накладных расходов, потому что абзацы загружаются в эту коллекцию только при доступе к элементам в них. Затем все, что вам нужно сделать, это пройтись по коллекции, используя стандартный для каждого оператора и добавить абзацы, которые имеют указанный стиль к абзацам. С набором стилей. The Paragraph Название стиля можно найти в Style.getName() имуществом, Paragraph.getParagraphFormat() объект.

Реализация RunsByStyleName почти такая же, хотя мы, очевидно, используем NodeType.Run Чтобы вернуть узлы. The Font.getStyle() свойство а Run объект используется для доступа к информации о стиле в Run Узлы

Следующий пример кода находит все запуски, отформатированные с указанным стилем.

Следующий пример кода запускает запросы и отображает результаты.

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

working-with-styles-aspose-words-java-2

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

Вставить разделитель стилей, чтобы поместить различные стили абзацев

Разделитель стилей может быть добавлен в конец абзаца с помощью Ctrl + Alt + Enter Keyboard Shortcut в MS Word. Эта функция позволяет использовать два разных стиля абзацев в одном логическом печатном абзаце. Если вы хотите, чтобы какой-то текст с начала определенного заголовка появлялся в Таблице содержимого, но не хотите, чтобы весь заголовок в Таблице содержимого, вы можете использовать эту функцию

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

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

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

Следующий пример кода показывает, как копировать стили из одного документа в другой.

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

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

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

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

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