Home » Скрипты

Скрипт ProtectLocalStyling InDesign

4 Март 2010 18 Comments

Скрипт ProtectLocalStyling InDesign служит для обработки текста, помещенного в InDesign из MS Word.
Его рекомендуется запускать сразу после импорта.  В результате работы будет выполнено:

а) преобразование локального форматирования  в символьные стили;
б) создание  стилей Body Text и  Table Text, автоматическое применение этих стилей к основному тексту и к  таблицам.
в) удаление неиспользуемых импортированных стилей;
г) удаление гиперссылок;
д) удаление цветов вне  цветовой модели CMYK;
е) привязка одно- и двухбуквенных предлогов к следующему слову;
ж) удаление лишних пробелов, привязка единиц измерений к цифрам и т.д.

Параметры создаваемого абзацного стиля Body Text можно самому переопределить в скрипте (строка 55 и далее). В качестве шрифта по умолчанию задан Minion Pro. Этот же шрифт используется и для  стиля Table Text.

В скрипте определены два массива замен: myTxtReplace (текстовый) и myGrpReplace (GREP), которые пользователи могут сами легко редактировать — каждый элемент представляет собой пару найти–заменить: [" млн", " ^Sмлн"], … ["--", "~_"],… (строки скрипта 190 и далее). Не забудьте о добавлении обратного слэша — если в Индизайне вы писали \r, то в скрипте надо писать \\r.

Автор скрипта: Kasyan Servetsky.

download Скачать скрипт (авторская версия).

Мы попытались устранить некоторые обнаруженные проблемы, в результате которых скрипт не выполнялся в русских версиях Индизайна

Скачать подправленную версию

18 Comments »

  • alex said:

    Очень нужный скрипт!
    Попробовал в CS4. Не пошел, выдал вот такое:

    JavaScript Ошибка!
    Номер ошибки: 30477
    Сообщение об ошибке: Недопустимый параметр.
    Файл: C:\Documents and Setting………….
    Строка: 55
    Источник: var paraStyle = myDoc.paragraphStyles.add({
    OK

    В чем прикол? Из-за использования CS4 или какой-то глюк?
    Помогите, пжл, очень нужен такой скрипт!!!

  • admin (author) said:

    Скачайте и попробуйте еще раз

  • alex said:

    Спасибо, что откликнулись!
    Скачал заново, попробовал – все равно та же ошибка…
    У меня русская версия Индезайна, поэтому на всякий случай исправил в скрипте все «Body Text» на «Основной текст». Скрипт начал работать, но споткнулся уже на 166 строке. Привожу текст:

    JavaScript Ошибка!
    Номер ошибки: 30624
    Сообщение об ошибке: Недопустимый параметр. Невозможно заменить, используя удаляемый объект.
    Файл: C:\Documents and Setting…..
    Строка: 166
    Источник: myDoc.paragraphStyles[myCounter].remove(paraStyle);

    В это время панелька скрипта «Подготовка файла» показывала, что шел процесс «Удаление цветов не в CMYK».

    Может еще раз пожожете? Заранее благодарен!

  • admin (author) said:

    Будет лучше если вы пришлете Индизайновский файл по почте, какой он у вас до запуска скрипта.

  • alex said:

    Спасибо!
    Файл в первозданном виде отправил по мылу.

  • ktogushev said:

    Очень нужный скрипт, но все происходит как у Alex’а.
    Вероятно потому что стоит именно русский CS4.
    Просто безумно жаль. Как раз сейчас как болван делаю ручками, то что этот скрипт мог бы делать за меня :(

  • iv-mi said:

    ktogushev: Очень нужный скрипт, но все происходит как у Alex’а.
    Вероятно потому что стоит именнно русский CS4.
    Просто безумно жаль. Как раз сейчас как болван делаю ручками, то что этот скрипт мог бы делать за меня.

    Причину объяснить не могу, но если действительно цейтнот и много подготовительной работы, то скрипт Do_Text_OK (ссылка на него внизу экрана, в разделе most commented) тоже успешно решает задачи, перечисленные в пп. а), е) и ж).

  • admin (author) said:

    Проблему с русским языком решим, дело затягивается из-за отсутствия русского Индизайна

  • ktogushev said:

    Скрипт DO_Text_OK – это вообще мечта верстальщика, но к сожалению с ним та же беда: ошибка 30477 :(

    Вообще, конечно, мучаемся мы с этим русским InDesign’ом. Особенно был тяжелый период адаптации, когда чтобы найти нужную команду, к которой уже давно привыкли на «родном», но ворованном англоязычном CS3, в русском CS4 она может быть переведена порой так, что «мама не горюй»:)

  • admin (author) said:

    В моей небольшой практике использования Do_Text_OK на русском Индизайне (v.6.04, WinXP)не выдавал ошибок.

  • iv-mi said:

    ktogushev
    но к сожалению с ним та же беда: ошибка 30477
    1) У Вас Мас или РС?
    2) Мне никто не сообщал, что скрипт не запускается в русской версии.
    Вообще ни разу не видел такой ошибки.
    Значит, проблема нежелания работать с этими скриптами в машине, а не в версии. Выглядит так, будто программа поставилась с ошибкой.
    Попробуйте на другой машине. Попробуйте отказаться от русских имен в названиях стилей, цветов и пр.
    А скрипты из штатной поставки работают?
    Если будете переустанавливать – обязательно сначала деактивируйте программу (Help>Deactivate), затем удалите Пуск>Панель управления>…, удалите каталог и поставьте заново.
    Должно работать независимо от версии.

  • alex said:

    Солидарен с ktogushev!
    С прошлого года «облизываюсь», глядя на этот скрипт. Но не более…
    У меня ID 6.04 на XP SP3. Вот что выдает скрипт в самом конце своей работы:

    Номер ошибки: 30477
    Сообщение об ошибке: Некорректное значение свойства `appliedLanguage`. Ожидалось LanguageWithVendors, Language or String, получено «Russian».
    …………………..
    Строка: 2391
    Источник: myTextObject.appliedLanguage = «Russian»;

    Пробовали этот скрипт еще на трех компах (тоже русский Индезайн) – та же самая ошибка.

  • alex said:

    В дополнение:
    Может быть дело не в русской версии: другие-то скрипты работают как часы (например, indicats_35, TableStyle, Textcleanup, InPlaceWord)…

  • iv-mi said:

    alex: С прошлого года «облизываюсь», глядя на этот скрипт. Но не более…

    Так что же Вы молчите??!! Чего облизываться, говорить надо, ведь есть же обратный адрес в файле с описанием программы.

    Источник: myTextObject.appliedLanguage = «Russian»;

    Возможно, тут корень зла.
    Попробуйте в скрипте в начале этой строки поставить две прямые наклонные черты, вот так: //myTextObject.appliedLanguage = «Russian»;
    Это запретит выполнение этой строки.
    Возможно, в русской версии вместо слова «Russian» зарезервировано слово «Русский».
    Сообщите о результате.

  • ktogushev said:

    1) Как и у Alex’а у меня ID 6.04 на XP SP3, всякие прочие скрипты работают.
    2) В скрипте DO_TEXT_ОК поменял строку myTextObject.appliedLanguage = «Russian» на myTextObject.appliedLanguage = «Русский»; и все заработало!!! :) УРА!
    3)а вот в скрипте ProtectLocalStyling InDesign это не помогло. Я пошел дальше и попробовал заменить не только Russian на Русский, но и Metrics на Метрич., No paragraph style на Основной абзац. Но все-равно ошибка 30477 в 55 строке :(

  • ktogushev said:

    Кстати, все забываю сказать: Спасибо огромное и за скрипты, и за советы!

  • alex said:

    Поменял «Russian» на «Русский» – скрипт сработал!
    Всем спасибо!!
    Теперь и со скриптом ProtectLocalStyling InDesign так же бы….

  • GenXSeeD said:

    to Kasyan Servetsky,
    спасибо за скрипт! Действительно полезная вещь!
    ИМХО, было бы здорово, если еще добавить в создаваемые стили Sup Italic, Sub Italic, Sup Bold, Sub Bold. Сталкивался с такими вещами при верстке.
    Спасибо.

Leave your response!

You must be logged in to post a comment.