MS PowerPoint JavaScript API - 插入 SVG 作为形状?

MS PowerPoint JavaScript API - insert SVG as shape?

我正在使用 Office.context.document.setSelectedDataAsync() 方法和 Office.CoercionType.XmlSvg 将复杂对象插入幻灯片,效果很好!

唯一需要注意的是,您需要先右键单击并选择“转换为形状”,然后才能在 PowerPoint 中对其进行编辑。有什么方法可以将 SVG 对象作为形状插入或使用 JavaScript API?

有效地自动执行“转换为形状”步骤

我明白了,感谢您的额外解释,不幸的是目前 PowerPoint OfficeJS Api 非常薄,虽然它正在积极开发中,但目前没有其他 API 来做“转换形状”或插入形状。

我不知道您的要求,但是,我可以向您推荐一个新发布的 API,它允许您从 PPTX 文件插入幻灯片吗?您可以直接插入,而不是转换为 SVG。这目前在 Public 预览中可用,您可以在此处找到信息:https://docs.microsoft.com/en-us/javascript/api/powerpoint/powerpoint.presentation?view=powerpoint-js-preview#insertSlidesFromBase64_base64File__options_

预览 API 列表可在此处找到: https://docs.microsoft.com/en-us/office/dev/add-ins/reference/requirement-sets/powerpoint-preview-apis

以下是一些从现有文件插入幻灯片的示例代码:

    await PowerPoint.run(async function(context) {
      context.presentation.insertSlidesFromBase64( base64EncodedPptxFileAsString );
      context.sync();
    });

    await PowerPoint.run(async function (context) {
      context.presentation.insertSlidesFromBase64( base64EncodedPptxFileAsString,
        {
          formatting: "UseDestinationTheme",
          targetSlideId: "257#",
          sourceSlideIds: ["257#3396654126", "258#"]
        });
      context.sync();
    });