![](/img/trans.png)
[英]Add a black drop shadow to an image through InDesign JavaScript scripting
[英]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.