簡體   English   中英

InDesign使用Java更改文本筆觸顏色

[英]InDesign changing Text Stroke Color with Javascript

我想使用JavaScript更改JavaScript中“ Ortsname”的顏色:

var relieflackEbene = myDoc.layers.itemByName('Relieflack');

選擇圖層“ Relieflack”,但使用時

relieflackEbene.pageItems.firstItem().strokeColor = "Relieflack";

實際上,我不想使用“ firstItem()”,因為它可能不是該圖層上的第一項。 但是,它正在更改文本框的顏色,而不是其內部文本的顏色。

InDesign層

有什么提示嗎?

以下代碼應更改文本“ 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" ); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM