Класс ParagraphProperties
Класс ParagraphProperties предназначен для управления свойствами форматирования абзаца (см. Рисунок). Класс ParagraphProperties используется в методах Paragraph::getParagraphProperties(), Paragraph::setParagraphProperties(), Cell::getParagraphProperties(), Cell::setParagraphProperties(), CellRange::getParagraphProperties() и CellRange::setParagraphProperties().

Описание полей класса ParagraphProperties представлено в таблице.
| Поле | Тип | Описание |
|---|---|---|
ParagraphProperties.beforeSpacing | float | Установка величины расстояния до абзаца. При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,(см. рисунок ниже), в поле Интервал до. ![]() |
ParagraphProperties.afterSpacing | float | Установка величины расстояния после абзаца. При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****в поле Интервал после. |
ParagraphProperties.lineSpacing | LineSpacing | Расстояние между строк одного абзаца (межстрочный интервал). |
ParagraphProperties.alignment | Alignment | Выравнивание текстового фрагмента по горизонтали. |
ParagraphProperties.firstLineIndent | float | Расстояние от левого поля документа до первой строки в абзаце с учетом отступа слева. При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****(см. рисунок выше), в поле Первая строка. |
ParagraphProperties.leftIndent | float | Расстояние от левого поля документа до абзаца (отступ слева). При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****(см. рисунок выше), в поле Отступ слева. |
ParagraphProperties.rightIndent | float | Расстояние от правого поля документа до абзаца. При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****(см. рисунок выше), в поле Отступ справа. |
Пример для текстового документа
Blocks blocks = document.getBlocks();
boost::optional<Paragraph> paragraphOpt = blocks.getParagraph(0);
if (paragraphOpt.has_value())
{
ParagraphProperties paraProps = paragraphOpt.get().getParagraphProperties();
paraProps.afterSpacing = 28.3; // соответствует 1 см
paraProps.beforeSpacing = 28.3; // соответствует 1 см
paraProps.firstLineIndent = 28.3; // соответствует 1 см
paraProps.leftIndent = 28.3; // соответствует 1 см
paraProps.rightIndent = 28.3; // соответствует 1 см
paraProps.alignment = Alignment::Center;
paraProps.lineSpacing = LineSpacing(5.0, LineSpacingRule::Multiple);
}
Пример для табличного документа
Table firstSheet = document.getBlocks().getTable(0).get();
Cell cell = firstSheet.getCell("B2");
Range range = cell.getRange();
Paragraphs paragraphs = range.getParagraphs();
std::shared_ptr<Enumerator<Paragraph>> enumerator = paragraphs.getEnumerator();
while (enumerator->isValid())
{
Paragraph paragraph = enumerator->getCurrent();
ParagraphProperties paragraphProperties = paragraph.getParagraphProperties();
std::printf("%d", paragraphProperties.alignment);
enumerator->goToNext();
}
