Skip to main content

Класс ParagraphProperties

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

Описание полей класса ParagraphProperties представлено в таблице.

ПолеТипОписание
ParagraphProperties.beforeSpacingfloatУстановка величины расстояния до абзаца.
При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,(см. рисунок ниже), в поле Интервал до.
ParagraphProperties.afterSpacingfloatУстановка величины расстояния после абзаца.
При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****в поле Интервал после.
ParagraphProperties.lineSpacingLineSpacingРасстояние между строк одного абзаца (межстрочный интервал).
ParagraphProperties.alignmentAlignmentВыравнивание текстового фрагмента по горизонтали.
ParagraphProperties.firstLineIndentfloatРасстояние от левого поля документа до первой строки в абзаце с учетом отступа слева.
При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****(см. рисунок выше), в поле Первая строка.
ParagraphProperties.leftIndentfloatРасстояние от левого поля документа до абзаца (отступ слева).
При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****(см. рисунок выше), в поле Отступ слева.
ParagraphProperties.rightIndentfloatРасстояние от правого поля документа до абзаца.
При работе с пользовательским интерфейсом приложения соответствует значению, указанному в диалоговом окне Настройки абзаца,****(см. рисунок выше), в поле Отступ справа.

Пример для текстового документа​


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();
}