Применять форматирование стола

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

Aspose.Words Предоставляет богатый API Восстановить и применить форматирование к таблице. Вы можете использовать Table, RowFormat, и CellFormat Узлы для настройки форматирования.

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

Применять форматирование к различным узлам

В этом разделе мы рассмотрим применение форматирования к различным узлам таблицы.

Уровень таблицы для форматирования

Для нанесения форматирования на таблицу можно использовать свойства, доступные на соответствующей Table Узел, использующий Table, PreferredWidth, и TableCollection классы.

Фотографии ниже показывают представление Table Особенности форматирования в Microsoft Word и их соответствующих свойств в Aspose.Words.

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

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

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

Форматирование уровня Row

Row-level ** форматированием можно управлять с помощью Row, RowFormat, и RowCollection классы.

Фотографии ниже показывают представление Row Особенности форматирования в Microsoft Word и их соответствующих свойств в Aspose.Words.

apply-formatting-to-row-level-aspose-words-java

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

Форматирование клеточного уровня

Форматирование на клеточном уровне контролируется Cell, CellFormat, и CellCollection классы.

Фотографии ниже показывают представление Cell Особенности форматирования в Microsoft Word и их соответствующих свойств в Aspose.Words.

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

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

Следующий пример кода показывает, как установить количество места (в точках) для добавления влево/вверх/вправо/вниз содержимого ячейки:

Обозначение Row Heights

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

В Aspose.Words, Высота строки стола контролируется:

  • свойство высоты строки - Height
  • свойство правила высоты для данного ряда - HeightRule

При этом для каждого ряда может быть установлена разная высота – это позволяет широко контролировать настройки стола.

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

Укажите шины стола и ячейки

Стол в a Microsoft Word Документ предоставляет несколько различных способов изменения размера таблицы и отдельных ячеек. Эти свойства позволяют значительно контролировать внешний вид и поведение стола. Aspose.Words поддерживает поведение таблиц, как в Microsoft Word.

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

  • Предпочтительная ширина на столе
  • Предпочтительная ширина для отдельных клеток
  • Разрешить автозаправку на столе

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

Как использовать предпочтительную ширину

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

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

  • Auto поле для указания авто или “нет предпочтительной ширины”
  • FromPercent Способ определения процентной ширины
  • FromPoints Способ определения ширины в точках

На рисунках ниже показано представление функций настройки предпочтительной ширины в Microsoft Word и их соответствующих свойств в Aspose.Words.

formatting-table-properties-aspose-words-java

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

table-applied-options-java

Укажите предпочтительную ширину стола или ячейки

В Aspose.Words, ширина стола и ячейки устанавливается с использованием Table.PreferredWidth собственности и CellFormat.PreferredWidth собственность, с опционами, доступными в PreferredWidthType Перечисление:

  • Auto, который не является предпочтительным
  • Percent, который соответствует элементу относительно имеющегося пространства в окне или размера контейнера и пересчитывает значение при изменении доступной ширины
  • Points, который соответствует элементу указанной ширины в точках

Используя Table.PreferredWidth свойство будет регулировать свою предпочтительную ширину относительно контейнера: страницы, столбца текста или внешней ячейки стола, если это вложенная таблица.

Следующий пример кода показывает, как установить таблицу в автоматическом режиме до 50% ширины страницы:

Используя CellFormat.PreferredWidth Свойство на данной ячейке будет регулировать ее предпочтительную ширину.

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

Найдите предпочтительный тип шины и значение

Вы можете использовать Type и Value Свойства поиска предпочтительных деталей ширины желаемой таблицы или ячейки.

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

Как установить Autofit

The AllowAutoFit Свойство позволяет клеткам в таблице расти и сокращаться по выбранному критерию. Например, вы можете использовать AutoFit в окно возможность подогнать таблицу к ширине страницы, а также AutoFit для контента Это позволяет каждой клетке расти или уменьшаться в зависимости от ее содержания.

По умолчанию, Aspose.Words Вставить новую таблицу с использованием AutoFit в окно. Таблица будет иметь размер в соответствии с доступной шириной страницы. Чтобы изменить размер стола, вы можете позвонить AutoFit метод. Этот метод позволяет принять AutoFitBehavior Перечисление, которое определяет, какой тип автофит применяется к таблице.

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

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

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

apply-different-autofit-settings-to-a-table-aspose-words-java

Стол AutoFit для окна

Когда автоподгонка к окну наносится на стол, за кулисами фактически выполняются следующие операции:

  1. The Table.AllowAutoFit свойство позволяет автоматически изменять размер колонок в соответствии с доступным контентом, используя Table.PreferredWidth значение 100%
  2. CellFormat.PreferredWidth удаляется из всех ячеек стола
  3. Ширины колонок пересчитываются для текущего содержимого таблицы - конечным результатом является таблица, которая занимает всю доступную ширину
  4. Ширина столбцов в таблице изменяется автоматически по мере редактирования текста пользователем

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

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

autofit-table-aspose-words-java

AutoFit Table для контента

Когда стол автоподгоняется под содержимое, за кулисами фактически выполняются следующие действия:

  1. The Table.AllowAutoFit свойство позволяет автоматически изменять размер каждой ячейки в соответствии с ее содержанием

  2. Предпочтительная ширина стола удаляется из Table.PreferredWidth, CellFormat.PreferredWidth удаляется для каждой ячейки стола

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

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

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

resize-column-autofit-settings-aspose-words-java

Отключите автофит в таблице и используйте фиксированные шины колонки

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

  1. Table.AllowAutoFit собственность отключена, поэтому колонки не растут и не сжимаются до своего содержания
  2. Предпочтительная ширина всей таблицы удалена Table.PreferredWidth, CellFormat.PreferredWidth удаляется из всех ячеек стола
  3. Конечным результатом является таблица, ширина столбца которой определяется CellFormat.Width свойство, столбцы которого не изменяются автоматически при вводе пользователем текста или при изменении размера страницы

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

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

disable-autofit-settings-to-a-table-aspose-words-java

Порядок действия при расчете ширины клетки

Aspose.Words позволяет пользователям определять ширину стола или ячейки через несколько объектов, включая CellFormat - его Width Свойство в основном осталось от предыдущих версий, однако оно по-прежнему полезно для упрощения настройки ширины ячейки.

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

Aspose.Words использует следующий порядок для расчета ширины ячейки:

Приказ Собственность Описание
1 AllowAutoFit определяется Если AutoFit Включено:
- таблица может превышать предпочтительную ширину для размещения содержимого - она обычно не сжимается ниже предпочтительной ширины
- любые изменения в CellFormat.Width Ценность игнорируется, и ячейка вместо этого будет соответствовать своему содержимому
2 PreferredWidthType с ценностью в Points или Percent CellFormat.Width игнорируется
3 PreferredWidthType с ценностью в Auto Ценность от CellFormat.Width копируется и становится предпочтительной шириной ячейки (в точках);

Разрешить пространство между клетками

Вы можете получить или установить любое дополнительное пространство между ячейками стола, аналогичное опции “Расстояние между ячейками”. Microsoft Word. Это можно сделать с помощью AllowCellSpacing собственность.

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

formatting-spacing-between-cells-aspose-words-java

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

Применять границы и затенение

Границы и затенение могут быть применены либо ко всей таблице с использованием Table.SetBorder, Table.SetBorders и Table.SetShading, или только для конкретных клеток, использующих CellFormat.Borders и CellFormat.Shading. Кроме того, границы строк могут быть установлены с помощью RowFormat.Borders, Однако затенение не может быть применено таким образом.

На фотографиях ниже показаны границы и тени в Microsoft Word и их соответствующих свойств в Aspose.Words.

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

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