InDesign 使用 Javascript 更改文本描边颜色
InDesign changing Text Stroke Color with Javascript
我想在 JavaScript 中更改 "Ortsname" 的颜色,
我正在使用:
var relieflackEbene = myDoc.layers.itemByName('Relieflack');
到select层"Relieflack"但是当使用
relieflackEbene.pageItems.firstItem().strokeColor = "Relieflack";
实际上我不想使用 "firstItem()" 因为它可能不是该层上的第一个项目。
但它改变的是文本框的颜色,而不是其中文本的颜色。
有什么提示吗?
以下代码应更改文本的描边颜色 "Ortsname"。
for (var i=0, len=relieflackEbene.pageItems.length; i < len ; i++) {
if (relieflackEbene.pageItems[i].parentStory.contents === "Ortsname") {
relieflackEbene.pageItems[i].parentStory.strokeColor = "Relieflack"
}
};
如果您想更改图层中所有文本框的文本,试试这个
relieflackEbene.pageItems.everyItem().texts.everyItem().strokeColor = "Relieflack";
或者您可以使用 changeText 方法,除非它太宽:
var main = function() {
var doc = app.properties.activeDocument,
ftp = app.findTextPreferences.properties,
ctp = app.changeTextPreferences.properties,
color;
if ( !doc ) return;
color= doc.swatches.itemByName ( "Relieflack" );
if ( !color.isValid ) {
alert("Color \"Relieflack\" is required.");
return;
}
app.findTextPreferences = app.changeTextPreferences = null;
app.findTextPreferences.properties = {
findWhat:"Ortsname",
};
app.changeTextPreferences.properties = {
strokeColor:color,
};
doc.changeText();
app.findTextPreferences.properties = ftp;
app.changeTextPreferences.properties = ctp;
}
var u;
app.doScript ( "main()",u,u,UndoModes.ENTIRE_SCRIPT, "The Script" );
我想在 JavaScript 中更改 "Ortsname" 的颜色, 我正在使用:
var relieflackEbene = myDoc.layers.itemByName('Relieflack');
到select层"Relieflack"但是当使用
relieflackEbene.pageItems.firstItem().strokeColor = "Relieflack";
实际上我不想使用 "firstItem()" 因为它可能不是该层上的第一个项目。 但它改变的是文本框的颜色,而不是其中文本的颜色。
有什么提示吗?
以下代码应更改文本的描边颜色 "Ortsname"。
for (var i=0, len=relieflackEbene.pageItems.length; i < len ; i++) {
if (relieflackEbene.pageItems[i].parentStory.contents === "Ortsname") {
relieflackEbene.pageItems[i].parentStory.strokeColor = "Relieflack"
}
};
如果您想更改图层中所有文本框的文本,试试这个
relieflackEbene.pageItems.everyItem().texts.everyItem().strokeColor = "Relieflack";
或者您可以使用 changeText 方法,除非它太宽:
var main = function() {
var doc = app.properties.activeDocument,
ftp = app.findTextPreferences.properties,
ctp = app.changeTextPreferences.properties,
color;
if ( !doc ) return;
color= doc.swatches.itemByName ( "Relieflack" );
if ( !color.isValid ) {
alert("Color \"Relieflack\" is required.");
return;
}
app.findTextPreferences = app.changeTextPreferences = null;
app.findTextPreferences.properties = {
findWhat:"Ortsname",
};
app.changeTextPreferences.properties = {
strokeColor:color,
};
doc.changeText();
app.findTextPreferences.properties = ftp;
app.changeTextPreferences.properties = ctp;
}
var u;
app.doScript ( "main()",u,u,UndoModes.ENTIRE_SCRIPT, "The Script" );