Scripting 使用垂直对正选项适合框架

Scripting 使用垂直对正选项适合框架,scripting,adobe-indesign,extendscript,Scripting,Adobe Indesign,Extendscript,使用我正在使用的InDesign脚本 TF.fit(FitOptions.frameToContent)//TF作为文本框 将内容放入文本框并删除多余空间 但是当我将垂直对齐选项的条件设置为Align:Bottom时,我无法适应内容 假设这是我的文本框(图1) 以下是文本框的属性(图2) 当我安装options.frameToContent时,我得到了这个(图3) 但是,当文本框底部设置了align属性时,我希望它能像这样匹配它(这是通过双击顶部中心对齐来实现的,如下面的红色指示器所示。

使用我正在使用的InDesign脚本

TF.fit(FitOptions.frameToContent)//TF作为文本框
将内容放入文本框并删除多余空间

但是当我将垂直对齐选项的条件设置为
Align:Bottom
时,我无法适应内容

假设这是我的文本框(图1)

以下是文本框的属性(图2)

当我安装options.frameToContent时,我得到了这个(图3)

但是,当文本框底部设置了align属性时,我希望它能像这样匹配它(这是通过双击顶部中心对齐来实现的,如下面的红色指示器所示。(图4)(图5)

我尝试了所有可用的选项,但没有成功。请帮助我使用脚本实现相同的功能

交叉参考:

===============================第一次尝试==================

var tf = app.selection[0];
var tfp = tf.textFramePreferences;
tfp.autoSizingReferencePoint = AutoSizingReferenceEnum.BOTTOM_CENTER_POINT;
tfp.autoSizingType = AutoSizingTypeEnum.HEIGHT_ONLY;
tf.fit(FitOptions.frameToContent)
这仍然给我相同的结果(图3),但预期的结果是图4

第二次尝试==================

var tf = app.selection[0];
var tfp = tf.textFramePreferences;
tfp.autoSizingReferencePoint = AutoSizingReferenceEnum.BOTTOM_CENTER_POINT;
tfp.autoSizingType = AutoSizingTypeEnum.HEIGHT_ONLY;
tf.fit(FitOptions.frameToContent)
这是自动调整大小属性


这个命令似乎只在上边缘作为参考点时才起作用,就像在UI中一样(如果您实际使用菜单命令,而不是单击任何边框)

要解决此问题,您可以临时启用自动调整大小(仅限高度)并将自动调整大小的参考点设置为底部:

var tf=app.selection[0];
var tfp=tf.textFramePreferences;
tfp.autoSizingReferencePoint=AutoSizingReferenceEnum.BOTTOM_CENTER_POINT;
tfp.autoSizingType=仅AutoSizingTypeEnum.HEIGHT_;
tfp.autoSizingType=AutoSizingTypeEnum.OFF;

请注意,最后一行再次关闭自动调整大小,这是可选的;如果您不介意框架保持自动调整大小,则无需关闭它。

这似乎对我尝试的结果更新问题没有任何影响。这很奇怪。这一系列命令的结果与我的图4中所示的结果完全相同。尝试过了吗s在InDesign CS6中,但我不希望这在InDesign CC中有任何不同。仅供记录:您不需要
tf.fit()
行,因为其他命令应该给出正确的结果(但我猜跳过
tf.fit()
行也不会对您的结果有太大的改变…)为什么我不应该使用.fit()?当我试图将内容调整到文本框时是否正确?因为在这种情况下,自动调整大小会将框架调整到内容(请参见“文本框选项”对话框中的“自动调整大小”功能),因此不需要在此处使用文本框选项。如果跳过tf.fit命令,会有什么结果?好的,只是在ID 2020中测试了它,效果很好。您能为我测试两件事吗:A)在没有最后一行的情况下运行脚本(再次关闭自动调整大小的那一行),然后转到文本框选项并检查,如果实际启用了自动调整大小。B) 如果不是,请检查如果手动启用自动调整大小会发生什么情况。这真的有效吗?