2015-08-13 2 views
2

Вот очень простой скрипт, который перекрывает все элементы главной страницы на странице 1:InDesign Applescript: «переопределить страницы главной страницы» сбой?

tell application id "com.adobe.InDesign" 
    tell active document 
     override every item of master page items of page 1 destination page page 1 
    end tell 
end tell 

По некоторым причинам, это приводит к элементам страницы смещается вверх и влево от их первоначального расположения. Я не могу понять, почему это происходит. Переопределение элементов страницы никогда не должно перемещать элементы. Фактически, когда я вручную переопределяю InDesign, ничего не сдвигается. Похоже, что это влияет на конкретный макет. Когда я делаю тестовый документ, проблема уходит. Этот конкретный документ имеет много уровней мастер-страниц, применяемых друг к другу, а затем применяется к макету.

Кто-нибудь еще столкнулся с этой проблемой?

+0

См [это долго обсуждение на компании Adobe форум] (https://forums.adobe.com/message/6315798) (препровождается тостом с вином). К сожалению, в то время как поток отлично справляется с поиском и предлагает решение, он заканчивается на следующей странице с нижней запиской о том, что она, похоже, не работает с CC. Поэтому, очевидно, важна точная версия, которую вы используете. Тем не менее, вы можете найти базу для изучения и эксперимента. – usr2564301

+0

Я вижу эту проблему с некоторыми макетами. Не знаю, почему это происходит ... – user1754036

ответ

0

Это здесь работал для меня https://forums.adobe.com/message/4294636#4294636 в cc2014

function main() { 
    var doc = app.activeDocument, 
     i, l, page, j, k; 

    for (i = 0, l = doc.pages.length; i < l; i++) { 
     page = doc.pages[i]; 
     if (page.appliedMaster !== null) { 
      for (j = 0, k = page.appliedMaster.pageItems.length; j < k; j++) { 
       try { 
        page.appliedMaster.pageItems[j].override(page); 
       } catch(e) {} 
      } 
     } 
     page.pageItems.everyItem().detach();  
    } 
} 

if (app.documents.length > 0) { 
    app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Detach Master Page Items"); 
} 
0

Это работает для меня в CC-2018 (13.0.1) и Сьерра-10.12.6:

tell application id "com.adobe.indesign" 
    tell document 1 
     repeat with i from 1 to count of pages 
      try 
       override (every item of master page items of page i whose allow overrides is true) destination page page i 
      on error 
       -- 
      end try 
     end repeat 
    end tell 
end tell