You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Apps Script生成Google Slides中指定对象(如形状)的缩略图?

关于Google Slides API获取单个对象缩略图的问题

Google Slides API的getThumbnail接口目前不支持直接获取幻灯片内单个对象(比如形状)的缩略图,只能生成整个幻灯片的缩略图。不过可以通过以下两种替代方案实现需求:

方案一:裁剪整张幻灯片缩略图

  1. 调用presentations.get接口获取目标幻灯片及对象的详细信息:
    GET https://slides.googleapis.com/v1/presentations/{presentationId}?fields=pages(pageObjectId,objects(objectId,shape,boundingBox))
    
    从响应中找到对应pageObjectId下目标对象的boundingBox数据,里面包含对象的width、height、left、top(单位为EMU,1 EMU = 1/914400英寸)。
  2. 调用getThumbnail接口获取整张幻灯片的缩略图,拿到缩略图的实际像素尺寸。
  3. 转换单位并计算裁剪区域:将EMU值转换成像素(结合幻灯片的原始尺寸和缩略图的缩放比例),然后对整张缩略图进行裁剪,得到单个对象的缩略图。

方案二:临时幻灯片中转

  1. 使用presentations.batchUpdate接口执行三个操作:
    • 创建一张空白幻灯片;
    • 将目标对象从原幻灯片复制到新创建的空白幻灯片;
    • (可选)调整新幻灯片的尺寸匹配对象大小。
      示例请求体大致结构:
    {
      "requests": [
        {
          "createSlide": {
            "objectId": "temp-slide-id",
            "slideLayoutReference": {
              "predefinedLayout": "BLANK"
            }
          }
        },
        {
          "duplicateObject": {
            "objectId": "target-object-id",
            "destinationObjectId": "temp-slide-id"
          }
        }
      ]
    }
    
  2. 调用getThumbnail接口获取临时幻灯片的缩略图,这就等同于目标对象的缩略图。
  3. 再次调用presentations.batchUpdate接口删除临时幻灯片,清理资源。

内容的提问来源于stack exchange,提问作者MOS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:39:23