Метод Position:insertShape
Вставляет фигуру заданного типа в текущую позицию. Возвращает объект Shape, содержащий вставленную фигуру.
Информация
Данный метод позволяет добавить фигуру:
- в позицию текстового документа, в том числе в header/footer;
- в позицию текста ячейки таблицы текстового документа кроме случая, когда таблица находится внутри фигуры: в этом случае вставка запрещена.
Вызов
insertShape(DocumentAPI.PresetGeometryType geometryType, DocumentAPI.SizeU size)
Параметры
‒ geometryType – вид фигуры, тип DocumentAPI.PresetGeometryType;
‒ size – геометрические размеры фигуры для вставки, тип DocumentAPI.SizeU;
Возвращаемые ошибки
NotImplementedErrorпри вызове метода не из текстового документа;DocumentModificationErrorпри заблокированном контенте текстового документа;NotImplementedErrorпри попытке вставить внутри фигуры, в том числе в таблице;NotImplementedErrorпри вставке в footnote/endnote.
Пример вставки фигуры в позицию текстового документа
shape = document:getRange():getBegin():insertShape(DocumentAPI.PresetGeometryType_Triangle, DocumentAPI.SizeU(100.0, 100.0))
Пример вставки фигуры в заголовок (header) текстового документа
local section = document:getBlocks():getBlock(0):getSection()
local headers = section:getHeaders()
for header in headers:enumerate() do
headerRange = header:getRange()
position = headerRange:getBegin()
position:insertShape(DocumentAPI.PresetGeometryType_Triangle, DocumentAPI.SizeU(100.0, 100.0))
end
Пример вставки фигуры в ячейку таблицы текстового документа
table = document:getBlocks():getTable(0)
cell = table:getCell("A1")
range = cell:getRange()
begin = range:getBegin()
shape = begin:insertShape(DocumentAPI.PresetGeometryType_Triangle, DocumentAPI.SizeU(100.0, 100.0))