Методы toParagraph, toTable, toField, toShape
Преобразует объект Block в объект соответствующего типа.
Вызовы
Paragraph toParagraph();
Table toTable();
Field toField();
Shape toShape(); // deprecated
warning
Метод Block::toShape() является устаревшим (deprecated) и всегда вернет boost::none.
Работа с фигурами описана в разделах "Встроенные объекты в текстовом документе", "Встроенные объекты в табличном документе", "Работа со встроенными объектами".
Пример
Blocks blocks = document.getBlocks();
boost::optional<Block> blockOpt = blocks.getBlock(0);
if (blockOpt.has_value())
{
boost::optional<Paragraph> paragraph = blockOpt.get().toParagraph();
if (paragraph.has_value())
{
std::printf("%s", paragraph.get().getRange().extractText().c_str());
}
boost::optional<Table> table = blockOpt.get().toTable();
if (table.has_value())
{
std::printf("%s", table.get().getName().c_str());
}
boost::optional<Field> field = blockOpt.get().toField();
if (field.has_value())
{
...
}
// Deprecated, всегда вернет boost::none
boost::optional<Shape> shape = blockOpt.get().toShape();
}