gpt4 book ai didi

javascript - 在设计中 : How can I get paragraph contents with its characterStyles?

转载 作者:行者123 更新时间:2023-11-30 08:44:38 24 4
gpt4 key购买 nike

我正在尝试为 InDesign 编写一个非常自定义的导出脚本(我有 CC 9.2,但我的目标是 CS6)。

当我处理一个段落时,我可以获得它的 paragraphStyle 和它的内容。我不明白的是:如何获取内容内容的characterStyles?

我正在查看文档,但我不明白如何进入段落并找到所有 characterStyles 及其应用的文本部分。

例如,如果我有如下段落:

My nice paragraph.

我想知道 "My ""paragraph." 有 style1,而 "nice" 有 style2。

最终结果应该是这样的:

[
{
text: "My ",
style: "style1"
},
{
text: "Nice",
style: "style2"
},
{
text: " paragraph.",
style: "style1"
}
]

我怎样才能获得这些信息?

最佳答案

使用 TextStyleRange段落的属性。

TextStyleRange 是具有相同格式的单个连续文本范围。对于 InDesign 而言,格式是“本地”格式还是通过字符样式应用都无关紧要。

强制性警告:

  1. TextStyleRanges 查看所有本地格式,无论是否通过字符样式应用。
  2. TextStyleRange 格式看不到 GREP 样式。
  3. 段落中的最后一个文本范围可能(通常)愉快地包含最终返回,以及后续段落中的任何和所有文本仍然有完全相同的格式。如果您按段落检索 textStyleRanges,请在返回段落后检查每个返回的文本内容是否存在文本。如果确实包含段落返回,可选择剪掉多余的文本,并退出当前段落的循环。

非常 最小示例代码:

tsr = app.selection[0].paragraphs[0].textStyleRanges;

text = [];
for (i=0; i<tsr.length; i++)
text.push ('text: "'+tsr[i].contents+'", style: "'+tsr[i].appliedCharacterStyle.name+'"');
alert (text.join ('\r'));

关于javascript - 在设计中 : How can I get paragraph contents with its characterStyles?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23057648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com