Метод 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));