InDesign:如何获取具有字符样式的段落内容
InDesign: How can I get paragraph contents with its characterStyles?
我正在尝试为InDesign编写一个非常自定义的导出脚本(我有CC 9.2,但我的目标是CS6)。
当我处理一个段落时,我可以得到它的段落风格和内容。我不明白的是:我如何才能获得内容和内容的字符样式?
我在看文档,但我不明白如何进入一个段落,找到所有的字符样式和应用它们的文本部分。
例如,如果我有这样一段话:
我的漂亮段落。
我想知道"My "
和" paragraph."
有style1,而"nice"
有style2。
最终结果应该是:
[
{
text: "My ",
style: "style1"
},
{
text: "Nice",
style: "style2"
},
{
text: " paragraph.",
style: "style1"
}
]
我怎样才能获得这些信息?
使用段落的TextStyleRange属性。
TextStyleRange是具有相同格式的单个连续文本范围。对于InDesign来说,格式是"本地"还是通过字符样式应用并不重要。
强制性警告:
- TextStyleRanges查看所有本地格式,无论是否通过字符样式应用
- TextStyleRange格式看不到GREP样式
- 段落中的最后一个文本范围可能(通常将)愉快地包含最终返回,以及以下段落中仍然具有完全相同格式的任何和所有文本。如果检索每个段落的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'));
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 将样式表插入iframe
- 跟踪在页面加载时应用内联样式的JavaScript
- 在JavaScript中输出转义字符
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 定义完全独立的样式信息
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 确定 RICHT 文本编辑器中每个字符的字符样式
- 可编辑内容更改字符之间的样式
- 将不带符号的字符/段落样式导出到javascript
- 如何有效地设置元素中各个字符的样式
- 使用jquery设置段落的第一个字符的样式
- JavaScript函数-遍历字符串,对单个字符进行样式化
- 按字符样式查找文本内容
- 文本输入中的CSS样式特定字符
- 如何基于前三个字符设置元素样式
- InDesign:如何获取具有字符样式的段落内容
- AngularJS ng 样式转义变量中的非法字符