gpt4 book ai didi

javascript - 如何获取 InDesign 中应用嵌套样式的文本

转载 作者:太空宇宙 更新时间:2023-11-04 16:13:50 25 4
gpt4 key购买 nike

我正在尝试编写一个脚本,如果应用特定的嵌套样式,该脚本会将所有字符转换为小写。我似乎无法找出获取文本的正确语法。

我最初尝试了以下方法,它在一定程度上发挥了作用,但将整个段落小写,而不仅仅是应用了字符样式的文本:

function lowerCaseNest(myPStyle, myCStyle){

var myDocument = app.documents.item(0);
//Clear the find/change preferences.
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
//Set the find options.
app.findChangeTextOptions.caseSensitive = false;
app.findChangeTextOptions.includeFootnotes = false;
app.findChangeTextOptions.includeHiddenLayers = false;
app.findChangeTextOptions.includeLockedLayersForFind = false;
app.findChangeTextOptions.includeLockedStoriesForFind = false;
app.findChangeTextOptions.includeMasterPages = false;
app.findChangeTextOptions.wholeWord = false;

app.findTextPreferences.appliedParagraphStyle = myPStyle;

var missingFind = app.activeDocument.findText();
var myDoc = app.documents[0];

for ( var listIndex = 0 ; listIndex < missingFind.length; listIndex++ ) {

for (i = missingFind[listIndex].nestedStyles.length-1;i>=0; i--) {

for (j = missingFind[listIndex].nestedStyles[i].parent.characters.length-1;j>=0; j--) {

if (missingFind[listIndex].nestedStyles[i].parent.characters[j].contents.appliedCharacterStyle(myCStyle)) {
var myString = missingFind[listIndex].nestedStyles[i].parent.characters[j].contents;

if (typeof(myString) == "string"){
var myNewString = myString.toLowerCase();
missingFind[listIndex].nestedStyles[i].parent.characters[j].contents = myNewString;
}
}

}

}

app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;

}

然后我尝试使用 appliedNestedStyles,但似乎无法弄清楚如何检索应用了嵌套样式的文本。

有人可以帮忙吗?

谢谢!约翰

最佳答案

除非我错了,否则可以通过定位应用的characterStyle在F/C对话框中处理applyNestedStyle:

GREP
Find : .+
Format : character style => myCharStyle

然后

var found = doc.findGrep();

关于javascript - 如何获取 InDesign 中应用嵌套样式的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41229481/

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