![](/img/trans.png)
[英]in indesign javascript. how to select some text in textframe and color this
[英]How to change textframe creation order in Indesign
我正在為Indesign編寫一個腳本。 在該腳本中,我將獲取文本框架的內容並將其保存到數據庫中。 直到我的腳本工作。 但是,在textframes腳本之間循環時,腳本使用創建順序。 我想以問題順序保存到數據庫。
這是我的腳本:
var myDocument = app.activeDocument;var frameList = myDocument.textFrames;
for (var i = 0; i < frameList.length; i++){
var txt=frameList[i].contents;
SaveToDB(txt);
}
那么有沒有辦法改變文本框架的創建順序
簡短的回答是 - 它看起來不可能。 文本框架按創建順序添加到textFrames中,沒有方法可以移動它們。 textFrame對象具有索引屬性,但它是只讀的。
您可以按問題順序創建文本框架。
另一種方法是在保存到數據庫之前對數組進行排序。 我想,您需要使用多維數組並在那里生成排序順序。 您可以嘗試從文本框中抓取幾個第一個字符,因為它似乎代表了問題編號。 另一種方法是添加腳本標簽作為排序順序。
最后,讓數據庫對它們進行排序。 將記錄存儲在數據庫中的順序通常並不重要,因為數據庫查詢無論如何都會添加排序
是的,有一種方法可以更改“創建順序”,只需重新排列“圖層”面板中的文本框即可。 堆棧中最低位置的文本框架將被視為首先創建的文本框架,以及最高位置的文本框架,就像它最后創建的那樣。
但是,我知道無法通過腳本更改此堆棧順序(如果有人知道,我很想聽到它)。
因此,您可以選擇在“圖層”面板中手動重新排列此堆棧順序,然后運行腳本或按問題編號對其進行排序(如Jongware在StackExchange GraphicDesign上建議的那樣)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.