簡體   English   中英

使用Javascript向InDesign中的所有選定項目添加投影

[英]Add Drop Shadow to All Selected Items in InDesign using Javascript

試圖弄清楚如何向InDesign CC中頁面上的所有選定項目添加陰影。 這是我所擁有的,但是它說“未定義不是對象”。

myDS = app.select(SelectAll.ALL);
myDS.dropShadowSettings.mode = ShadowMode.drop;
myDS.dropShadowSettings.angle = .0083;
myDS.dropShadowSettings.xOffset = 0.08;
myDS.dropShadowSettings.yOffset = 0.08;
myDS.dropShadowSettings.size = 0.6;

然后就是這樣(盡管我更喜歡檢查item是否具有應用的對象樣式,如果需要,則編輯對象樣式本身。然后,我看一下item是否具有已處理的樣式以獲取性能。但是要簡單地說:

 var allPageItems = doc.allPageItems; var n = allPageItems.length; while ( n-- ) process ( allPageItems[n] ); function process ( item) { if ( !item.properties.transparencySettings ) return; item.transparencySettings.dropShadowSettings.mode = ShadowMode.NONE; } 

通過使用“全選”,返回的對象是一個經典數組,其中dropShadowSettings不是有效的屬性,因此會出現錯誤。 我建議不要應用對象樣式,而不是直接設置道具。 這樣,您將能夠手動編輯樣式,並查看正在更新的先前關注的對象。

 var doc = app.activeDocument; var os = doc.objectStyles.itemByName ( "myDropShadow" ); !os.isValid && os = doc.objectStyles.add ( { name:"myDropShadow", transparencySettings:{ dropShadowSettings:{ mode:ShadowMode.drop, angle : .0083, xOffset : 0.08, yOffset : 0.08, size : 0.6, } } }); app.activeDocument.pageItems.everyItem().appliedObjectStyle = os; 

順便說一句,最好不要使用UI命令,例如復制/粘貼/選擇,因為它們很費時,而且dom內總是有其他選擇。

暫無
暫無

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

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