【问题标题】:How do you tell whether text fits within its bounding shape?您如何判断文本是否适合其边界形状?
【发布时间】:2018-11-09 01:31:40
【问题描述】:

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

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

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

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

如果这有助于描述我正在寻找的属性,则 PowerPoint 等效项将是 textrange.boundheight,然后我希望能够实现类似于 AutoSize 功能的类似属性。

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

【问题讨论】:

    标签: google-apps-script google-slides


    【解决方案1】:

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

    当您点击形状内部时,您可以看到新的自动调整设置,默认设置为“不自动调整”:

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

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

    更新(2021 年 7 月):有新的 autofit properties 形状元素:

    autofitType

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

    fontScale - 只读

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

    lineSpacingReduction - 只读

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2015-06-29
    • 2019-07-11
    相关资源
    最近更新 更多