Прилагане На Форматиране

Всеки елемент от таблица може да бъде приложен с различно форматиране. Например форматирането на таблица ще бъде приложено към цялата таблица, форматирането на редове само за определени редове, форматирането на клетки само за определени клетки.

Aspose.Words осигурява богат API за извличане и прилагане на форматиране към таблица. Можете да използвате възлите Table, RowFormat и CellFormat, за да зададете форматирането.

В тази статия ще говорим за това как да приложите форматиране към различни възли на таблицата и какви настройки за форматиране на таблица Aspose.Words поддържа.

Прилагане на форматиране към различни възли

В този раздел ще разгледаме прилагането на форматиране към различни възли на таблицата.

Форматиране На Ниво Таблица

За да приложите форматиране към таблица, можете да използвате свойствата, Налични в съответния Table възел, като използвате класовете Table, PreferredWidth и TableCollection.

Снимките по-долу показват представяне на Table форматиращи функции в Microsoft Word и съответните им свойства в Aspose.Words.

formattin-features-table-level-aspose-words-cpp

formatting-table-options-aspose-words-cpp

Следващият пример за код показва как да приложите граница на структура към таблица:

Следващият пример за код показва как да създадете таблица с разрешени всички граници (мрежа):

Форматиране На Ниво Ред

Ниво на ред

Снимките по-долу показват представяне на Row форматиращи функции в Microsoft Word и съответните им свойства в Aspose.Words.

formatting-row-level-aspose-words-cpp

Следващият пример за код показва как да промените форматирането на реда на таблицата:

Форматиране На Ниво Клетка

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

Снимките по-долу показват представяне на Cell форматиращи функции в Microsoft Word и съответните им свойства в Aspose.Words.

formatting-cell-level-aspose-words-cpp

auto-formatting-cell-level-aspose-words-cpp

Следващият пример за код показва как да промените форматирането на клетка от таблица:

Следващият пример за код показва как да зададете размера на пространството (в точки), за да добавите към лявата/горната/дясната/долната част на съдържанието на клетката:

Задаване На Височини На Редовете

Най-лесният начин да зададете височината на реда е да използвате DocumentBuilder. Като използвате съответните свойства RowFormat, можете да зададете настройката за височина по подразбиране или да приложите различна височина за всеки ред в таблицата.

В Aspose.Words височината на реда в таблицата се контролира от:

  • свойство височина на реда - Height
  • свойството височина правило за даден ред - HeightRule

В същото време за всеки ред може да се зададе различна височина – това ви позволява широко да контролирате настройките на таблицата.

Следващият пример за код показва как да създадете таблица, съдържаща една клетка, и да приложите форматиране на редове:

Задаване на ширина на таблица и клетка

Таблица в документ Microsoft Word предоставя няколко различни начина за преоразмеряване на таблицата и отделните клетки. Тези свойства позволяват значителен контрол върху външния вид и поведението на таблицата, така че Aspose.Words поддържа поведението на таблиците, както в Microsoft Word.

Важно е да знаете, че елементите на таблицата имат няколко различни свойства, които могат да повлияят на начина, по който се изчисляват ширините на общата таблица, както и на отделните клетки.:

  • Предпочитана ширина на масата
  • Предпочитана ширина на отделните клетки
  • Разрешаване на автоматичното зареждане на масата

Тази статия подробно описва как работят различните свойства за изчисляване на ширината на таблицата и как да получите пълен контрол върху изчислението на ширината на таблицата. Това е особено полезно да се знае в такива случаи, когато оформлението на таблицата не се появява, както се очаква.

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

Желаната ширина на таблица или отделни клетки се определя чрез свойството предпочитана ширина, което е размерът, който елементът се стреми да побере. Това означава, че предпочитаната ширина може да бъде посочена за цялата таблица или за отделни клетки. В някои ситуации може да не е възможно да се побере точно тази ширина, но действителната ширина ще бъде близка до тази стойност в повечето случаи.

Подходящият предпочитан тип ширина и стойност се задават с помощта на методите на класа PreferredWidth:

  • Auto метод за задаване на автоматична или “без предпочитана ширина”
  • метод FromPercent за определяне на процентна ширина
  • метод FromPoints за определяне на ширината в точки

Снимките по-долу показват представяне на preferred width setting features в Microsoft Word и съответните им свойства в Aspose.Words.

formatting-table-properties-aspose-words-cpp

Пример за това как тези опции се прилагат към реална таблица в документ може да се види на картината по-долу.

todo:image_alt_text

Задайте предпочитаната таблица или Ширина на клетката

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

  • Auto, което е еквивалентно на не предпочитан набор от ширина
  • Percent, който се вписва в елемента спрямо наличното пространство в размера на прозореца или контейнера и преизчислява стойността, когато наличната ширина се промени
  • Points, което съответства на елемент с определена ширина в точки

Използването на свойството Table.PreferredWidth ще коригира предпочитаната ширина по отношение на контейнера: страница, текстова колона или външна клетка на таблица, ако е вложена таблица.

Следващият пример за код показва как да настроите таблицата да се побира автоматично до 50% от ширината на страницата:

Използването на свойството CellFormat.PreferredWidth на дадена клетка ще коригира предпочитаната ширина.

Следващият пример за код показва как да зададете различните предпочитани настройки за ширина:

Намерете предпочитан тип ширина и стойност

Можете да използвате свойствата Type и Value, за да намерите предпочитаната ширина на желаната таблица или клетка.

Следващият пример за код показва как да извлечете предпочитания тип ширина на клетка от таблица:

Как да зададете Автофит

Свойството AllowAutoFit позволява на клетките в таблицата да растат и да се свиват според избран критерий. Например можете да използвате опцията AutoFit to Window, за да поберете таблицата с ширината на страницата и опцията AutoFit to Content, За да позволите на всяка клетка да расте или да се свива според нейното съдържание.

По подразбиране Aspose.Words вмъква нова таблица, като използва AutoFit to Window. Таблицата ще бъде оразмерена според наличната ширина на страницата. За да преоразмерите таблица, можете да извикате метода AutoFit. Този метод приема изброяване AutoFitBehavior, което указва какъв тип автофит се прилага към таблицата.

Важно е да знаете, че методът за автоматично запълване всъщност е пряк път, който прилага различни свойства към таблицата по едно и също време. Това са свойства, които всъщност дават на таблицата наблюдаваното поведение. Ще обсъдим тези свойства за всяка опция за автоматично запълване.

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

AutoFit таблица в прозорец

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

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

Следващият пример за код показва как да автоматизирате таблица към ширината на страницата:

AutoFit таблица към съдържанието

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

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

  2. Предпочитаната ширина на таблицата се премахва от Table.PreferredWidth, CellFormat.PreferredWidth се премахва за всяка клетка на таблицата

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

Следващият пример за код показва как да автоматизирате таблица към нейното съдържание:

Деактивирайте AutoFit в таблица и използвайте фиксирани ширини на колоните

Ако таблицата е забранена за автоматично попълване и вместо това се използват фиксирани ширини на колоните, се изпълняват следните стъпки::

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

Следващият пример за код показва как да забраните автоматичното зареждане и да разрешите фиксирана ширина за посочената таблица:

Ред на предимство при изчисляване на ширината на клетката

Aspose.Words позволява на потребителите да определят ширината на таблица или клетка чрез множество обекти, включително CellFormat – нейното свойство Width е предимно останало от предишни версии, но все още е полезно за опростяване на настройката на ширината на клетката.

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

Aspose.Words използва следния ред за изчисляване на ширината на клетките:

Поръчка Недвижими имоти Описание
AllowAutoFit е определен Ако AutoFit е активиран:
- таблицата може да нарасне над предпочитаната ширина, за да побере съдържанието – обикновено не се свива под предпочитаната ширина
- всяка промяна на CellFormat.Width стойност се игнорира и клетката ще се побере в съдържанието си, вместо
PreferredWidthType със стойност Points или Percent CellFormat.Width е игнориран
PreferredWidthType със стойност Auto Стойността от CellFormat.Width се копира и става предпочитаната ширина на клетката (в точки)

Разрешаване На Разстоянието Между Клетките

Можете да получите или зададете допълнително разстояние между клетките на таблицата, подобно на опцията “разредка на клетките” в Microsoft Word. Това може да се направи с помощта на AllowCellSpacing собственост.

Пример за това как тези опции се прилагат към реална таблица в документ може да се види на картината по-долу.

formatting-spacing-between-cells-aspose-words-cpp

Следващият пример за код показва как да зададете разстоянието между клетките:

Прилагане на граници и засенчване

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

Снимките по-долу показват настройките за граница и сянка в Microsoft Word и съответните им свойства в Aspose.Words.

formatting-border-line-aspose-words-cpp

formatting-cell-color-aspose-words-cpp

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