簡體   English   中英

如何在Indesign中更改文本框架創建順序

[英]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);
}

那么有沒有辦法改變文本框架的創建順序

Indesign我正在與之合作

簡短的回答是 - 它看起來不可能。 文本框架按創建順序添加到textFrames中,沒有方法可以移動它們。 textFrame對象具有索引屬性,但它是只讀的。

您可以按問題順序創建文本框架。

另一種方法是在保存到數據庫之前對數組進行排序。 我想,您需要使用多維數組並在那里生成排序順序。 您可以嘗試從文本框中抓取幾個第一個字符,因為它似乎代表了問題編號。 另一種方法是添加腳本標簽作為排序順序。

最后,讓數據庫對它們進行排序。 將記錄存儲在數據庫中的順序通常並不重要,因為數據庫查詢無論如何都會添加排序

是的,有一種方法可以更改“創建順序”,只需重新排列“圖層”面板中的文本框即可。 堆棧中最低位置的文本框架將被視為首先創建的文本框架,以及最高位置的文本框架,就像它最后創建的那樣。

但是,我知道無法通過腳本更改此堆棧順序(如果有人知道,我很想聽到它)。

因此,您可以選擇在“圖層”面板中手動重新排列此堆棧順序,然后運行腳本或按問題編號對其進行排序(如Jongware在StackExchange GraphicDesign上建議的那樣)。

暫無
暫無

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

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