如何将一个Drawing转换为table类型

在presentations中有一个table,当前无法使用api获得当前页上的table,只能通过
var oPresentation = Api.GetPresentation()
var oSlide = oPresentation.GetSlideByIndex(0)
var aDrawings = oSlide.GetAllDrawings()

这样获得的Drawing中包含table,如何将Drawing类型转换为table,转换后调用table的api。

望解决

你好,
为了获取信息并进一步处理单元格中的数据,您可以使用这个方法:Find - ONLYOFFICE Api Documentation

但是,我不太清楚您的具体场景。能否请您逐步展示您想要实现的目标?您可以画一个示意图或提供带有说明的截图。


如图所示,是一个ppt页面,现在没有API获得当前页的table,只能通过GetAllDrawing()方法获得table,但是得到Drawing对象无法使用table的相关方法,因此请协助处理一下以上问题。

  1. 如何用程序获得当前ppt页上的table?
  2. 如何获得当前ppt页上的table内的td并追加内容?

同时,如何获得ppt中当前table(或shape)的位置信息

很抱歉回复晚了。
请明确您最终想要达到的结果。要处理 pptx 文件中的表格,可以使用这些方法:ApiTable - ONLYOFFICE Api Documentation 。我理解得对吗,您是希望在您的测试环境中获取整个表格及其单元格内容?

1 Like

是的,你理解的正确。
现在如何获得ppt中的table,未找到具体API,请协助解决!!

非常感谢,我们正在排查上述的情况

有答案,请及时回复一下,期待你的答案

我们还在排查该情况。我会在有新进展时更新这个论坛主题

您好! 抱歉回复晚了。 看起来可以通过以下方式解决该问题:
用于在pptx中创建表格的方法:CreateTable
用于获取指定幻灯片上的表格的方法:GetAllDrawings
用于操作表格的方法:ApiTable
示例:

let oPresentation = Api.GetPresentation();
let oSlide = Api.CreateSlide();
oPresentation.AddSlide(oSlide);

let oTable = Api.CreateTable(2, 3);
oSlide.AddObject(oTable);

console.log(oSlide.GetAllDrawings());
console.log(oSlide.GetDrawingsByPlaceholderType('table'));

另外,我们正在检查获取当前幻灯片的API,当有更新时我会在这个论坛话题分享。

获取当前幻灯片的方法:GetCurrentSlide
获取当前幻灯片索引的方法 (若需要): GetCurSlideIndex