Избранное »

22.09.2014 – 07:27 | 2 комментария | 8 486 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com начал работу канал «InDesign Мастерская вёрстки». Там уже размещены более 60 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Скриптинг, Скрипты

«Отэмбеддить» все внедренные линки

Добавлено на 03.03.2011 – 01:453 комментария | 2 708 views

Случалось ли вам получать файл, в котором все изображения были внедрены, а не прилинкованы? Такое случается не каждый день, но, как известно, It happens! К счастью в InDesign есть возможность извлечь все внедренные линки в отдельную папку. Правда с каждым линком придется возиться отдельно и если их много, то это довольно трудоемкая работа – выбрать линк, потом в контекстном меню или выпадающем меню палитры Links выбрать Unembed Link. Куда как проще сделать это с помощью скрипта.

Класс Link имеет метод unembed(), позволяющий извлечь линк из документа и сохранить отдельным файлом или перелинковать с существующим файлом. То есть, если файла в папке назначения не существует, то InDesign создаст новый (извлекая его из документа). Причем файл хранится в документе целиком – если на одном компьютере внедрить psd со слоями, а на другой машине извлечь, то вы получите точно такой же файл! Все это замечательно, но вполне понятно, что это не лучший метод хранения файлов, поскольку размер файла верстки очень быстро растет, что в свою очередь замедляет работу с ним и создает вероятность ошибок.

Скрипт работает так:

// ищем первый линк в документе
var myLink = app.activeDocument.links[0];
// проверить статус внедрения
$.writeln(myLink.status == LinkStatus.LINK_EMBEDDED);
// извлечь в папку по умолчанию
myLink.unembed();
// извлечь в отдельную папку
// если файл существует, то он будет переписан извлеченным файлом
var myDest = Folder("/c/myDestination");
myLink.unembed(myDest);

А вот скрипт, который перед тем как извлечь линки, спросит куда именно это сделать. И если вдруг окажется, что в папке назначения файл уже существует, то скрипт просто создаст связь с ним, вместо того, чтобы переписать файл поверх существующего (что происходит по умолчанию в методе unembed()). Просто и легко!

Автор скрипта — Marijan Tompa

Взято отюда


Скачать UnEmbedAllLinks.jsx (zip)


Материал подготовил Stacco

3 комментария »

  • Dorm:

    Было бы совсем замечательно, если бы на место внедренных файлов вставлялся линк на извлеченные с сохранением всех пропорций, эффектов и т.д.

    Может скрипт это делает?

  • stacco:

    Да, именно это и происходит.
    При извлечении файлов в папку, в документе на них создаются ссылки.

  • 7800:

    По-моему скрипт содержит ошибку, из-за которой при выставленной галке «развнедрять» выпадает ошибка. Наблюдается в CS3. Чтобы скрипт работал правильно надо заменить 21-ю строку на такой код:
    myLink.unembed(myFolder);

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.