[英]How to find a text frame in Indesign CS6 with javascript? (I can query by text-frames containing a particular paragraph style or what?)
我一直在尋找indesign腳本,但沒有找到關於此主題的任何東西,我認為這很重要。 所以這是我的問題:
好的,經過一些研究,我發現您可以通過打開“腳本標簽”,選擇所需的對象並將標簽名稱寫入“腳本標簽”面板中來為對象設置標簽。 您無需單擊“確定”或什么都不需要,它將自動保存該對象的標簽。
之后,您可以檢查對象的“ .label”屬性,並在找到帶有該標簽的對象時找到了它。 多個對象可以具有相同的標簽。
下面是一個帶有輔助功能“ selectWhere”的示例:
var document = app.documents.item(0); // active document
var allTextFrames = toArray(document.textFrames);
var textFrames = selectWhere("chapterLetter", "label", allTextFrames);
function selectWhere(value, key, array){
var i = array.length; var t; var filtered = [];
while(i--){
t = array[i];
if(t && t[key] == value){
filtered.push(t);
}
}
return filtered;
}
function toArray(objects){
var i = objects.length; var array = [];
while(i--){
array.push(objects[i]);
}
return array;
}
1)第一個問題的答案是:- 在此線程中解決
2)現在您將獲得文本框架數組。因此您可以查詢以獲取文本框架上的段落樣式
var paraStyle1 = app.activeDocument.paragraphStyles.itemByName("styleA");
var paraStyle2 = app.activeDocument.paragraphStyles.itemByName("styleB");
if (paraStyle1.isValid && paraStyle2.isValid)
3)通過paraStyle1.name
可以獲取樣式的名稱。請參見parastyle1是段落樣式對象,因此獲取樣式對象並通過此屬性進行查找。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.