问题描述
我想将文本框自动修复设置为缩小为形状,
我不明白如何在溢出时为现有的 SHRINK 文本设置自动调整
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 提交功能请求并提供所有必要的详细信息。