Применять форматирование стола
Каждый элемент таблицы может быть применен с различным форматированием. Например, форматирование таблицы будет применяться ко всей таблице, форматирование строк только к конкретным строкам, форматирование ячеек только к определенным ячейкам.
Aspose.Words Предоставляет богатый API Восстановить и применить форматирование к таблице. Вы можете использовать Table, RowFormat, и CellFormat Узлы для настройки форматирования.
В этой статье мы поговорим о том, как применять форматирование к различным узлам таблицы и какие настройки форматирования таблицы Aspose.Words Поддержка.
Применять форматирование к различным узлам
В этом разделе мы рассмотрим применение форматирования к различным узлам таблицы.
Уровень таблицы для форматирования
Чтобы применить форматирование к таблице, можно использовать свойства, доступные на соответствующей Table Узел, использующий Table, PreferredWidth, и TableCollection классы.
Фотографии ниже показывают представление Table Особенности форматирования в Microsoft Word и их соответствующих свойств в Aspose.Words.
Следующий пример кода показывает, как применить границу контура к таблице:
Следующий пример кода показывает, как построить таблицу со всеми границами:
Форматирование уровня Row
Низкоуровневый Форматированием можно управлять с помощью Row, RowFormat, и RowCollection классы.
Фотографии ниже показывают представление Row Особенности форматирования в Microsoft Word и их соответствующих свойств в Aspose.Words.
Следующий пример кода показывает, как изменить форматирование строк таблицы:
Форматирование клеточного уровня
Форматирование на клеточном уровне контролируется Cell, CellFormat, и CellCollection классы.
Обратите внимание, что a Cell может быть только детским узлом Row. При этом должен быть хотя бы один Paragraph в Cell Чтобы к нему можно было применить форматирование.
Помимо того, что Paragraph, Вы также можете вставить Table входить в Cell.
Фотографии ниже показывают представление Cell Особенности форматирования в Microsoft Word и их соответствующих свойств в Aspose.Words.
Следующий пример кода показывает, как изменить форматирование ячейки таблицы:
Следующий пример кода показывает, как установить количество места (в точках) для добавления влево/вверх/вправо/вниз содержимого ячейки:
Укажите высоту рядов
Самый простой способ установить высоту строки - использовать DocumentBuilder. Использование соответствующего RowFormat Свойства, вы можете установить по умолчанию высоту или применить разную высоту для каждой строки в таблице.
В Aspose.Words, Высота строки стола контролируется:
- свойство высоты строки - Height
- свойство правила высоты для данного ряда - HeightRule
При этом для каждого ряда может быть установлена разная высота – это позволяет широко контролировать настройки стола.
Следующий пример кода показывает, как создать таблицу, содержащую одну ячейку, и применить форматирование строк:
Укажите шины стола и ячейки
Стол в a Microsoft Word Документ предоставляет несколько различных способов изменения размера таблицы и отдельных ячеек. Эти свойства позволяют значительно контролировать внешний вид и поведение стола. Aspose.Words поддерживает поведение таблиц, как в Microsoft Word.
Важно знать, что элементы таблицы обладают несколькими различными свойствами, которые могут влиять на то, как рассчитывается ширина общей таблицы, а также отдельных ячеек:
- Предпочтительная ширина на столе
- Предпочтительная ширина для отдельных клеток
- Разрешить автозаправку на столе
В этой статье подробно описывается, как работают различные свойства расчета ширины таблицы и как получить полный контроль над расчетом ширины таблицы. Это Особенно полезно знать в таких случаях, когда планировка таблицы выглядит не так, как ожидалось.
В большинстве случаев рекомендуется предпочтительная ячейка, чем ширина стола. Предпочтительная ширина ячейки больше соответствует спецификации формата DOCX, а также Aspose.Words Модель.
Ширина ячейки фактически является расчетным значением для формата DOCX. Фактическая ширина ячейки может зависеть от многих вещей. Например, изменение поля страницы или предпочтительной ширины таблицы может повлиять на фактическую ширину ячейки.
Предпочтительной шириной ячейки является свойство ячейки, которое хранится в документе. Он не зависит ни от чего и не меняется при изменении стола или других свойств ячейки.
Как использовать предпочтительную ширину
Желаемая ширина таблицы или отдельных ячеек определяется через предпочтительное свойство ширины, которое представляет собой размер, который стремится уместить элемент. То есть предпочтительная ширина может быть указана для всей таблицы или для отдельных ячеек. В некоторых ситуациях может быть невозможно точно соответствовать этой ширине, но фактическая ширина будет близка к этому значению в большинстве случаев.
Соответствующий предпочтительный тип ширины и значение устанавливаются с использованием способов PreferredWidth класс:
- Auto Способ указания авто или “нет предпочтительной ширины”
- FromPercent Способ определения процентной ширины
- FromPoints Способ определения ширины в точках
На рисунках ниже показано представление функций настройки предпочтительной ширины в Microsoft Word и их соответствующих свойств в Aspose.Words.
Пример того, как эти варианты применяются к реальной таблице в документе, можно увидеть на рисунке ниже.
Укажите предпочтительную ширину стола или ячейки
В 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 Перечисление, которое определяет, какой тип автофит применяется к таблице.
Важно знать, что метод автоподгонки на самом деле является ярлыком, который одновременно применяет различные свойства к таблице. Это свойства, которые фактически придают таблице наблюдаемое поведение. Мы обсудим эти свойства для каждого варианта автозаполнения.
Следующий пример кода показывает, как установить таблицу, чтобы уменьшить или вырастить каждую ячейку в соответствии с ее содержимым:
Стол AutoFit для окна
Когда автоподгонка к окну наносится на стол, за кулисами фактически выполняются следующие операции:
- The Table.AllowAutoFit свойство позволяет автоматически изменять размер колонок в соответствии с доступным контентом, используя Table.PreferredWidth значение 100%
- CellFormat.PreferredWidth удаляется из всех ячеек стола
Обратите внимание, что это немного отличается от Microsoft Word поведение, при котором предпочтительной ширине каждой ячейки устанавливаются соответствующие значения, основанные на их текущем размере и содержании. Aspose.Words Не обновляет предпочитаемую ширину, поэтому они просто очищаются.
- Ширины колонок пересчитываются для текущего содержимого таблицы - конечным результатом является таблица, которая занимает всю доступную ширину
- Ширина столбцов в таблице изменяется автоматически по мере редактирования текста пользователем
Следующий пример кода показывает, как автоматически приспособить таблицу к ширине страницы:
AutoFit Table для контента
Когда стол автоподгоняется под содержимое, за кулисами фактически выполняются следующие действия:
-
The Table.AllowAutoFit свойство позволяет автоматически изменять размер каждой ячейки в соответствии с ее содержанием
-
Предпочтительная ширина стола удаляется из Table.PreferredWidth, CellFormat.PreferredWidth удаляется для каждой ячейки стола
Обратите внимание, что эта опция автоподгонки удаляет предпочтительную ширину из ячеек, как и в Microsoft Word. Если вы хотите сохранить размеры столбцов и увеличить или уменьшить столбцы, чтобы соответствовать содержанию, вы должны установить Table.AllowAutoFit имущество True Вместо того, чтобы использовать ярлык автофита. -
Ширина колонки пересчитывается для текущего содержимого таблицы - конечным результатом является таблица, где ширина колонки и ширина всей таблицы автоматически изменяются, чтобы наилучшим образом соответствовать содержанию, поскольку пользователь редактирует текст
Следующий пример кода показывает, как автоматически приспособить таблицу к ее содержимому:
Отключите автофит в таблице и используйте фиксированные шины колонки
Если вместо этого используется таблица с отключенным автофитом и фиксированной шириной столбца, выполняются следующие шаги:
-
Table.AllowAutoFit собственность отключена, поэтому колонки не растут и не сжимаются до своего содержания
-
Предпочтительная ширина всей таблицы удалена Table.PreferredWidth, CellFormat.PreferredWidth удаляется из всех ячеек стола
-
Конечным результатом является таблица, ширина столбца которой определяется CellFormat.Width свойство, столбцы которого не изменяются автоматически при вводе пользователем текста или при изменении размера страницы
Следующий пример кода показывает, как отключить автоподключение и включить фиксированную ширину для указанной таблицы:
Порядок действия при расчете ширины клетки
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 собственность.
Пример того, как эти варианты применяются к реальной таблице в документе, можно увидеть на рисунке ниже.
Следующий пример кода показывает, как установить расстояние между ячейками:
Применять границы и затенение
Границы и затенение могут быть применены либо ко всей таблице с использованием Table.SetBorder, Table.SetBorders и Table.SetShading, или только для конкретных клеток, использующих CellFormat.Borders и CellFormat.Shading. Кроме того, границы строк могут быть установлены с помощью RowFormat.Borders, Однако затенение не может быть применено таким образом.
На фотографиях ниже показаны границы и тени в Microsoft Word и их соответствующих свойств в Aspose.Words.
Следующий пример кода показывает, как форматировать таблицу и ячейку с различными границами и оттенками: