Skip to main content

Работа со встроенными объектами

Работа со встроенными объектами для текстовых и табличных документов различается, поэтому описания вставки и перечисления объектов описаны в отдельных разделах:

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

1. Получение размеров​

Размеры встроенного объекта могут быть получены из объектов InlineFrame или AbsoluteFrame, которые, в свою очередь, могут быть получены посредством использования методов MediaObject.getFrame(), Image.getFrame(), Chart.getFrame(), Shape.getFrame(), TextBox.getFrame() (см раздел Frame).


Console.WriteLine(frame->getDimensions().height);

2. Получение текущей позиции​

С помощью методов InlineFrame.getPosition(), AbsoluteFrame.getTopLeft() можно получить текущую позицию объекта.


Console.WriteLine(frame.getPosition().horizontal);

3. Установка размеров​

С помощью методов InlineFrame.setDimensions(), AbsoluteFrame.setDimensions() можно изменить размеры встроенных объектов


SizeU size = SizeU(50.0, 50.0);
frame.setDimensions(size);

4. Установка позиции​

Для объекта AbsoluteFrame используется метод AbsoluteFrame.moveTo()


if (AbsoluteFrame* absoluteFrame = boost::variant2::get_if<AbsoluteFrame>(&frame))
{
PointU position = new PointU(50, 50);
absoluteFrame.moveTo(position);
}

Для объекта InlineFrame используется метод InlineFrame.setPosition(). Примеры использования с различными параметрами приведены в разделе описании метода.

5. Масштабирование размеров​

Для объекта AbsoluteFrame используется метод AbsoluteFrame.scale()


absoluteFrame.scale(100, 100, ScaleFrom.TopLeft);

6. Установка обтекания текстом​

Для InlineFrame вариант обтекания текстом графического объекта TextWrapType может быть задан посредством использованием метода InlineFrame.setWrapType().


inlineFrame->setWrapType(TextWrapType.Inline);

7. Вращение и отражение объектов​

Следующие возможности предусмотрены только для объектов Shape и TextBox.

Для данных объектов могут быть заданы угол вращения и вертикальное / горизонтальное отражение посредством использования методов Shape.setGeometryProperties(), TextBox.setGeometryProperties().


GeometryProperties geometryProperties = shape.getGeometryProperties();
geometryProperties.rotation = 45.0;
geometryProperties.horizontalFlip = true;
geometryProperties.verticalFlip = false;
shape.setGeometryProperties(geometryProperties);

geometryProperties = textBox.getGeometryProperties();
geometryProperties.rotation = 45.0;
geometryProperties.horizontalFlip = true;
geometryProperties.verticalFlip = false;
textBox.setGeometryProperties(geometryProperties);

Внимание

Метод Image.getGeometryProperties вернет геометрические свойства изображения.

Метод Image.setGeometryProperties в данный момент не реализован и вызовет исключение NotImplementedError.