好吧,假设我选择了这个 textFrame:
我想应用这个:
要获得预期结果:
使用此代码没有问题:
var doc = app.activeDocument;
var target = doc.selection[0];
target.fit(FitOptions.frameToContent);
但是我一设置内容就出错了。即使内容与原来相同。
var doc = app.activeDocument;
var target = doc.selection[0];
target.contents = "0209 - Lorem ipsum dolor sit amet consectetur adipiscing elit nam finibus ut justo at fermentum maecenas tincidun libero at aliquet finibus libero sem semper massa.";
target.fit(FitOptions.frameToContent);
现在我得到了 1 条大线!:
这是一个错误,还是我需要触发更新方法或其他方法?
最佳答案
设置内容后添加target.recompose()
。撰写(即将文本分成几行)通常在后台进行; ID 只是可能没有在两次函数调用之间的时间来执行此操作。
文档中并不清楚何时您需要显式调用recompose
,但根据经验,您可以假设通过文本contents
进行交互code> 属性总是需要它。原生 InDesign 文本的内容
在 Javascript 字符串对象之间进行转换,从而释放所有“原生”格式,包括所有段落组合。
我刚刚用我值得信赖的旧 CS4 进行了尝试,无需 recompose
也能正常工作,尽管这还不是决定性的; InDesign 可能只是有“时间”在后台执行此操作,而没有其他任务运行。所以强制它可能仍然是一个好主意。
关于javascript - 更改内容后使框架适合内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26908750/