Skip to main content

Метод Position::insertTextBox

Вставляет текстовое поле с заданным текстом в текущую позицию. Возвращает объект TextBox.

info

Данный метод позволяет добавить текстовое поле:

  • в позицию текстового документа, в том числе в header/footer;
  • в позицию текста ячейки таблицы текстового документа кроме случая, когда таблица находится внутри фигуры: в этом случае вставка запрещена.

Вызов​


insertTextBox(std::string text, Size<Unit> size)

Параметры​

‒ text – содержимое текстового поля, тип - строка;

‒ size – геометрические размеры текстового поля для вставки.

Возвращаемые ошибки​

  • при вызове метода не из текстового документа NotImplementedError;
  • при заблокированном содержимом текстового документа DocumentModificationError;
  • при попытке вставить внутри фигуры, в том числе в таблице NotImplementedError;
  • при вставке в footnote/endnote NotImplementedError.

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


auto shape = document.getRange().getBegin().insertTextBox("Text", Size<Unit>(100.0, 100.0));

Пример вставки текстового поля в заголовок (header) текстового документа​


auto headers = section.getHeaders();
std::shared_ptr<Enumerator<HeaderFooter>> headersEnumerator = headers.getEnumerator();
while (headersEnumerator->isValid())
{
auto header = headersEnumerator->getCurrent();
auto headerRange = header.getRange();
auto position = headerRange.getBegin();
position.insertTextBox("Text", DocumentAPI.SizeU(100,100));

headersEnumerator->goToNext();
}

Пример вставки текстового поля в ячейку таблицы текстового документа​


auto table = document.getBlocks().getTable(0);
auto cell = table.getCell("A1");
auto range = cell.getRange();
auto begin = range.getBegin();
auto shape = begin.insertTextBox("Text", Size<Unit>(100.0, 100.0));