【问题标题】:Setting the autofit text property设置自动调整文本属性
【发布时间】:2023-03-27 16:17:01
【问题描述】:

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

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

我试过了

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

【问题讨论】:

标签: google-apps-script google-slides-api google-slides


【解决方案1】:

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

如果你查看请求的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 应用于fontSizelineSpacingReduction 应用于lineSpacing。这两个属性也都重置为默认值。

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

参考

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多