设置自动调整文本属性 参考

问题描述

我想将文本框自动修复设置为缩小为形状,

我不明白如何在溢出时为现有的 SHRINK 文本设置自动调整

enter image description here

我试过

  Slides.Presentations.Pages[0].get(presentationId,pageObjectId).pageElements[3].shape.shapeProperties.autofit

解决方法

您正在尝试使用 shape 请求设置 GET 的属性。

如果您检查请求的 documentation 页:

GET https://slides.googleapis.com/v1/presentations/{presentationId}/pages/{pageObjectId}

获取演示文稿中指定页面的最新版本。

此外,您使用的字段也是错误的。 Pages 是请求的一部分,您不能向它传递任何参数,而 pageObjectId 实际上是页面的 id,而不是您尝试传递的对象的 id修改。

为了设置更新对象的形状属性,您必须发出以下请求:

POST https://slides.googleapis.com/v1/presentations/{presentationId}:batchUpdate

并使用以下正文:

{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": "OBJECT_ID","shapeProperties": {
          "autofit": {
            "autofitType": "AUTOFIT_TYPE"
          }
        },"fields": "autofit.autofitType"
      }
    }
  ]
}

但是,请务必注意以下几点,因为这可能是您收到 Autofit types other than NONE are not supported 错误的原因:

如果发出的请求可能会影响其边界文本框中的文本拟合,则该字段会自动设置为 NONE。在这种情况下,fontScale 应用于 fontSize,而 lineSpacingReduction 应用于 lineSpacing。这两个属性也被重置为默认值。

此问题已在 Google 的问题跟踪器 here 上提出,您可以看到这确实是这种情况下的预期行为。您可以做的是使用表单 here 提交功能请求并提供所有必要的详细信息。

参考

相关问答

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