11

我正在使用占位符形状和应用程序脚本将来自谷歌电子表格的数据合并到幻灯片演示中,类似于本示例的内容。

我的合并运行良好。我遇到的第一个问题是文本不受包含它的形状的约束。如果文本不适合边界形状,它只会溢出:

文本溢出文本框边界

如果我能以某种方式以编程方式告诉文本已经溢出,那将不是一个问题。据我所知,虽然我只能得到边界形状的高度。即使它现在“包含”在幻灯片上覆盖更大高度的文本,它也不会改变。我似乎无法获得实际文本的高度。

有什么方法可以告诉文本范围的高度是多少,或者它已经溢出,以便我可以调整文本的某些特征(字体大小或实际文本的长度等),以便文本被文本框绑定?或者至少提醒用户文本已经溢出。

与此等效的 PowerPoint 将是textrange.boundheight如果这有助于描述我正在寻找的属性,那么我希望能够使用类似的属性来实现类似于AutoSize功能的东西。

将文本合并到幻灯片而没有某种方式使文本适合占位符形状对我来说似乎没有多大用处。

4

1 回答 1

2

在此处输入图像描述

自 2021 年 1 月起,您可以在 Google 幻灯片编辑器中设置自动调整设置。

单击内部形状时,您可以看到新的自动调整设置,默认设置为“不自动调整”: 在此处输入图像描述

您可以将其更改为“溢出时缩小文本”:

在此处输入图像描述

或其他选项:“调整形状以适合文本”:

在此处输入图像描述

更新(2021 年 7 月):Shape 元素的新autofit属性:

自动调整类型

形状的自动调整类型。如果 autofit 类型为AUTOFIT_TYPE_UNSPECIFIED,则 autofit 类型继承自父占位符(如果存在)。NONE如果提出的请求可能会影响其边界文本框中的文本拟合,则该字段将自动设置为。在这种情况下,fontScale应用于fontSize并且lineSpacingReduction应用于lineSpacing。这两个属性也都重置为默认值。

fontScale - 只读

应用于形状的字体比例。对于带有autofitType NONE或的形状SHAPE_AUTOFIT,此值是默认值 1。对于TEXT_AUTOFIT,此值乘以fontSize给出在编辑器中呈现的字体大小。

lineSpacingReduction - 只读

应用于形状的行距缩小。对于带有autofitType NONE或的形状SHAPE_AUTOFIT,该值是默认值 0。对于TEXT_AUTOFIT,从 中减去该值lineSpacing给出在编辑器中呈现的行间距。

PSautofitType可能未在文档中标记为只读,但似乎有一个错误当前阻止了一种简单的设置方法(设置为除 之外的任何其他值NONE),请参阅https://issuetracker.google.com/issues/189153562#comment5https://developers.google.com/apps-script/reference/slides/autofit(仅getAutofitType()可用)

于 2021-01-31T14:46:03.420 回答