/* * @Author: Vitaly Batushev * @Date: 2017-10-11 14:23:14 * @Last Modified by: Vitaly Batushev * @Last Modified time: 2017-10-11 15:32:36 * * Порой возникают ситуации, когда в InDesign появляются богомерзкие ссылки на изображения, * которые не входят в компоновку, а являются структурным элементом XML. * В сведениях о странице написано: XML structure element, not in layout * (Структурный элемент XML, в компоновку не входит). * Исправить весь этот ужасъ и смрадъ призван данный скрипт. * * Основано на обсуждении https://forums.adobe.com/thread/781135 * Основной код Loic.Aigon(https://forums.adobe.com/people/Loic.Aigon) */ #target "indesign" var XMLinksCleaner = (function () { var main = function() { var question = "Вы собираетесь удалить ссылки, которые не входят в компоновку, являясь структурными элементами XML?"; question += "\nЕсли Вы не знаете или не понимаете, что Вы собираетесь делать, закройте этот скрипт."; question += "\nПосле чего прикройте глаза и трижды произнесите \"Ссылка-ссылка рассосись, будет скоро забишись\"."; question += "\nЕсли, открыв глаза, Вы все же обнаружите ссылки, у которых вместо номера страницы стоят знаки < >,"; question += " запустите скрипт заново и ответьте \"Да\". После чего снова можете произнести заклятие."; if (!app.documents.length) return; if (!confirm(question, true, "XMLinksCleaner")) return; var doc = app.properties.activeDocument, root, story, items, n, rect; root = doc.xmlElements[0], story = root.parentStory, items = story.pageItems, n = items.length; while (n--) { rect = items[n].getElements()[0]; !rect.properties.geometricBounds && rect.remove(); } doc.save(); alert("Обработка и исправление закончено.\nПубликация сохранена.", "XMLinksCleaner"); } return { run: main } })(); app.doScript("XMLinksCleaner.run();", ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT, "XMLinksCleaner");