如何判断文本是否适合其边界形状?

2023-12-29

我正在使用占位符形状和应用程序脚本将数据从谷歌电子表格合并到幻灯片演示文稿中,类似于这个例子 https://developers.google.com/slides/how-tos/merge.

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

如果我能够以某种方式以编程方式告知文本已溢出,那就不会是这样的问题。据我所知,虽然我只能得到边界形状的高度 https://developers.google.com/apps-script/reference/slides/shape#getHeight()。即使它现在“包含”在幻灯片上覆盖更大高度的文本,这也不会改变。我似乎无法获得实际文本的高度。

有什么办法可以知道高度是多少文本范围 https://developers.google.com/apps-script/reference/slides/text-range是,或者它已经溢出,以便我可以调整文本的某些功能(字体大小或实际文本的长度等),以便文本由文本框绑定?或者至少提醒用户文本已溢出。

与此等效的 PowerPoint 是文本范围.boundheight https://learn.microsoft.com/en-us/office/vba/api/powerpoint.textrange.boundheight如果这有助于描述我正在寻找的属性,那么我希望能够实现类似的属性AutoSize https://learn.microsoft.com/en-us/office/vba/api/powerpoint.textframe2.autosize特征。

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


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

When you click inside shape, you can see new Auto-fit setting, set to "Do not autofit" by default: enter image description here

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

或者另一种选择:“调整形状大小以适合文本":

更新(2021 年 7 月):有新内容autofit特性 https://developers.google.com/slides/api/reference/rest/v1/presentations.pages/shapes#autofit形状元素:

自动调整类型

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

字体比例- 只读

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

行距减少- 只读

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

P.S. autofitType在文档中可能没有标记为只读,但似乎存在一个错误,目前阻止了一种简单的方法来设置它(设置为除NONE), see https://issuetracker.google.com/issues/189153562#comment5 https://issuetracker.google.com/issues/189153562#comment5 and https://developers.google.com/apps-script/reference/slides/autofit https://developers.google.com/apps-script/reference/slides/autofit (just getAutofitType()可用的)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何判断文本是否适合其边界形状? 的相关文章

随机推荐

  • jsp 包含中的 HTTP 状态 500 文件未找到错误

    我包含根目录中的文件 它在本地工作正常 但当我托管我的网站时 它给我 错误 HTTP 状态 500 未找到 connection jsp 我的文件在 public html myfolder connection jsp 在共享主机上 我想
  • 将集合绑定到 StackPanel

    我想获取一个对象集合并将其绑定到 StackPanel 所以基本上如果该集合有 4 个元素 那么在堆栈面板内应该生成 4 个按钮 我尝试过这个 但我认为这不是正确的方法 我过去使用 DataTemplated 做过这种类型的想法 如果我错了
  • 尽管集群已启动,Flink localhost 仪表板仍无法工作

    我已经下载了Flink 1 5 0并运行启动集群脚本 集群似乎已成功启动 bin start cluster sh Starting cluster Starting standalonesession daemon on host LAP
  • 为什么 Microsoft.NET.CoreRuntime.1.1.appx 出现依赖性 - UWP APPX

    当我用来创建项目的appx文件 x64发布模式 时 在依赖文件夹下只创建了Microsoft VCLibs x64 14 00 appx文件 但现在 当我尝试创建 appx 时 还在依赖项文件夹下创建了一个附加文件 Microsoft NE
  • 在 C# Blazor 中的分部类中初始化 RenderFragment

    我正在使用第三方包中的组件 该组件接受 RenderFragment 作为参数 并且我想通过索引页的部分类为该 RenderFragment 分配一个值 我意识到当我在中构建 RenderFragment 时code标签 它有效 但一旦你把
  • iPhone 5 (4") 底部工具栏没有响应

    我正在尝试修改一个应用程序以适应新的 iPhone 5 4 屏幕 我添加了新的启动图像 电子邮件受保护 cdn cgi l email protection 之后一切似乎都很好 我的视图的中间部分可以调整大小 但是我注意到 在有底部工具栏的
  • 获取 UIScrollView 内容的可见矩形

    我怎样才能找到屏幕上实际可见的显示视图内容的矩形 CGRect myScrollView bounds 上面的代码在没有缩放时有效 但一旦允许缩放 它就会在 1 以外的缩放比例下中断 为了澄清 我想要一个 CGRect 包含滚动视图内容相对
  • Rust:从标准输入读取和映射行并处理不同的错误类型

    我正在学习 Rust 并尝试用它解决一些基本的算法问题 在许多情况下 我想从标准输入读取行 对每行执行一些转换并返回结果项的向量 我这样做的一种方法是这样的 Fully working Rust code let my values Vec
  • Boost::Spirit 后跟默认值时字符加倍

    我使用 boost spirit 来解析单项式的 一部分 如 x y xy x 2 x 3yz 我想将单项式的变量保存到一个映射中 该映射还存储相应的指数 因此 语法还应该保存 1 的隐式指数 因此 x 存储起来就像写成 x 1 一样 st
  • 单击 R 字符串输出中的 URL

    假设我有 R 的 cat 函数的输出 它是一个 URL 例如 cat https en wikipedia org wiki Statistics Output https en wikipedia org wiki Statistics
  • 使用泛型类型时,“From”的实现如何会发生冲突?

    我正在尝试实现一个错误枚举 它可以包含与我们的特征之一相关的错误 如下所示 trait Storage type Error enum MyError
  • Python/NetworkX:动态计算边权重

    我有一个未加权的创建的图表networkx为此 我想根据边缘出现的计数 频率来计算节点之间的边缘权重 我的图中的一条边可以多次出现 但事先并不知道边出现的频率 目的是根据连接节点之间移动的权重 例如计数 频率 可视化边缘 本质上 我想创建连
  • 如何在 Tensorflow RNN 中构建嵌入层?

    我正在构建一个 RNN LSTM 网络 根据作者的年龄对文本进行分类 二元分类 年轻 成人 看起来网络没有学习并突然开始过度拟合 Red train Blue validation 一种可能是数据表示不够好 我只是按频率对独特的单词进行排序
  • 我们如何在 Julia 中上课?

    我在 Julia 中编写类时遇到问题 我查看了文档 但没有看到任何有关类的文档 例如 在 Python 中 类是 class Dog blah blah 这在朱莉娅身上怎么可能呢 朱莉娅没有课 相反 我们定义新类型 然后在这些类型上定义方法
  • 限制泛型类型参数具有特定的构造函数

    我想知道为什么对泛型类型参数的新约束只能在没有参数的情况下应用 也就是说 可以约束类型具有无参数构造函数 但不能约束类具有 比如说 一个构造函数接收一个 int 作为参数 我知道解决这个问题的方法 使用反射或工厂模式 效果很好 好吧 但我真
  • 将鼠标悬停在图像上向左移动?

    这是我的页面 http www ostmoconstruction com portfolio php http www ostmoconstruction com portfolio php 我决定更改这个小画廊中每个图像的鼠标悬停图像
  • getExternalStorageDirectory 和 getExternalStoragePublicDirectory 之间的区别?

    根据谷歌的说法 一个返回主共享 外部存储目录 另一个返回顶级共享 外部存储目录 用于放置特定类型的文件 谁能用简单的语言和例子解释一下 我假设您在生活中曾经使用过 Windows 计算机 Environment getExternalSto
  • Java 中的 try-catch 块 - catch 代码中的执行语句

    我对 Java 中 catch 块中语句的执行顺序有疑问 当我运行以下类 Test1 见下文 时 我希望首先输出 Hi 然后是 e printStackTrace 的结果 声明 然后再见 然而 我从来没有收到过这个订单 请查看我粘贴在下面的
  • 从 GraphStage 内部关闭 Akka 流 (Akka 2.4.2)

    在 Akka Stream 2 4 2 中 PushStage 已被弃用 对于 Streams 2 0 3 我使用的是这个答案中的解决方案 如何关闭 Akka 流 https stackoverflow com questions 3495
  • 如何判断文本是否适合其边界形状?

    我正在使用占位符形状和应用程序脚本将数据从谷歌电子表格合并到幻灯片演示文稿中 类似于这个例子 https developers google com slides how tos merge 我的合并运行良好 我遇到的第一个问题是文本不受包