使用 Appscript 用图像覆盖 Google 幻灯片项目符号 参考

问题描述

我正在寻找一种方法,用与演示文稿风格相匹配的彩色形状来覆盖 Google 幻灯片中丑陋的黑白项目符号。这些是存储在云端硬盘中的小图片

修改项目符号的经典方式(通过 UI)(在“格式”>“项目符号”部分)仅提供选择符号的可能性,而不提供选择其颜色或其他样式参数的可能性。

我想我可以使用 Google App 脚本从我的驱动器加载幻灯片中的图像,然后将其放置在项目符号位置。但我不知道如何获得子弹位置。如何获取子弹位置?

有人知道用 Google 幻灯片中的自定义图像替换项目符号的更好方法吗?

解决方法

为了获得项目符号位置,根据幻灯片中对象的组织方式,最接近可以帮助您实现此目的的方法是检索它所属的文本框。

var items = Slides.Presentations.Pages.get(PRES_ID,PAGE_OBJECT_ID)

这将最终返回页面中提到的 id 的所有项目。之后,您必须遍历这些以检索包含项目符号的文本框并获取其起始位置,该位置将存储在类型为 AffineTransform 的对象中。 但是,请记住,这将返回文本框的位置。

使用 Slides API 插入图像时,会使用 createImageRequest

考虑到这一点,createImageRequest 的结构如下所示:

{
   "objectId": string,"elementProperties": {
      {
         "pageObjectId": string,"size": {
            object(Size)
         },"transform": {
            object(AffineTransform)
         }
      }
   },"url": string
}

如果您想操纵图像的位置,则必须使用 AffineTransform 对象来匹配从上一步获得的对象。

参考

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...