как узнать тип прилинкованного изображения

  • Автор темы Автор темы bossrus
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

bossrus

шибка умный, аднака
Топикстартер
12 лет на форуме
Сообщения
447
Реакции
74
по расширению — это понятно.
но! EPS и PDF могут быть как векторными иллюстраторовскими, так и растровыми фотошопными.
есть ли способ узнать растровость файла скриптом?
 
И что от этого меняется?
Объясни суть проблемы, зачем это нужно?
 
Судить о типе линка по расширению - не лучший вариант. link.linkType в помощь.

А уж заценить то, что находится внутри линка - растр или нет, емнип средствами скриптинга индизайна не выйдет. Возможное решение, хотя оно и крайне дурное - открывать линки в люстре иллюстраторе и смотреть что да как.
 
Последнее редактирование модератором:
  • Спасибо
Реакции: bossrus
Можно выковорить из InDesignа все линки, а потом разом спросить, кто их создал, типа так:
Код:
exiftool $link | grep Creator
Ответы будут вроде: Creator Tool: Adobe Photoshop CS6 (Macintosh) или Creator: Adobe Illustrator(TM) 3.2 (ух ты какой eps попался ;) )
Ответы можно отсортировать.
Но так, конечно не отловить растр, засунутый в Иллюстратор и сохранённый как епс, то же про Корел. Хотя я бы его епсы, вообще в отдельную папку положил и брезгливо не трогал. ;)
 
И что от этого меняется?
Объясни суть проблемы, зачем это нужно?
образмерку пишу. нужно, чтобы векторные файлы игнорировались, а растровые — открывались шопом

Судить о типе линка по расширению - не лучший вариант. link.linkType в помощь.
инструмент проверки:
Код:
alert(app.documents[0].allGraphics[0].itemLink.linkType);
вставляю в документ растровый епс — при запуске вышеприведённой команды получаю "EPS".
вставляю в документ иллюстратовый епс — при запуске вышеприведённой команды получаю "EPS".
да. сильно помогло. и чем это отличается от расширения?


Можно выковорить из InDesignа все линки, а потом разом спросить, кто их создал, типа так:
Код:
exiftool $link | grep Creator
что это? 0_о
 
Последнее редактирование:
и чем это отличается от расширения?
Тем, что расширение может быть каким угодно. В том числе и из-за ошибок при переименовании файлов. При этом Indesign определяет тип файла без проблем.
example.JPG
И да, повторяю суть - средствами indd решения поставленной задачи не вижу - она не тривиальна.
 
  • Спасибо
Реакции: bossrus
Тем, что расширение может быть каким угодно. В том числе и из-за ошибок при переименовании файлов. При этом Indesign определяет тип файла без проблем.
поэкспериментировав вижу, что это лучше, чем расширение файла. согласен.
хоть и не приближает к цели :)
 
У графики, которую InDesign считает векторной, обращение к свойству actualPpi выдает ошибку.
 
  • Спасибо
Реакции: bossrus и kstati
У графики, которую InDesign считает векторной, обращение к свойству actualPpi выдает ошибку.
Беда в том, что даже если в pdf-eps лежит одна растровая картинка, всё равно свойство actual ppi недоступно.
То есть InDesign может считать файл векторным ошибочно.
 
А пропарсить файл из скрипта не выйдет?
И в Link Info Есть Creator
 
  • Спасибо
Реакции: bossrus
То есть InDesign может считать файл векторным ошибочно.
Ошибочно полагать, что InDesign считает файл векторным ошибочно ':(!!'
Можно прочитать значение "%%Creator:" из EPS, но я таки не вижу в этом особого смысла. Раз векторный, то он векторным и будет, независимо от наличия или отсутствия внутри растра.
 
  • Спасибо
Реакции: bossrus
Ошибочно полагать, что InDesign считает файл векторным ошибочно ':(!!'
Это проблема понятий. Изначально автор дал конкретный пример - pdf из Photoshop.
То, что в файле есть клип-путь не умиляет того, что в основе растр.
Пример прикладываю.
 

Вложения

В самом InDesign такой инфы не получишь. У него есть класс PDF и EPS, но ему глубоко наплевать какие они.
С дугой стороны и PDF и EPS можно открыть "Люстрой" иллюстратором и там посмотреть что есть внутри.
 
Последнее редактирование модератором:
А пропарсить файл из скрипта не выйдет?
И в Link Info Есть Creator
бинго!
не совсем, но
Код:
alert(app.documents[0].allGraphics[0].itemLink.linkXmp.creator);
работает как надо. проверка на наличие photoshop в названии — и вот весь растр идёт в шоп.
только нужно потестировать что там будет, если джипег из фотоаппарата вылез, и нигде не обрабатывался.

или можно сделать методом исключения — если не корел и не иллюстратор — то вперёд в шоп

С дугой стороны и PDF и EPS можно открыть "Люстрой" и там посмотреть что есть внутри.

Не по теме:
а где тут "скрипт" и "автоматизация"? как руками отличить вектор от растра у меня вопрос не стоит '))'
 
Комментарий модератора: Использование жаргонных наименований программ на нашем форуме уже давно приравнено практически к матерной ругани и карается соответствующим предупреждением и штрафными баллами. Поэтому, например, использование слов «люстра» и «индюк» применительно к Illustrator и InDesign недопустимо.
 
А если там есть и раст и вектор?
 
бинго!
не совсем, но alert(app.documents[0].allGraphics[0].itemLink.linkXmp.creator);
Учтите, что подобное решение допустимо только, если вы являетесь автором исходных pdf-ок.
Лично я вполне допускаю вариант, при котором pdf-файл создаётся в одной программе, потом правится в другой.
Самый простой пример - трассировка изображения.
В приложении - файлик, созданный в фотошопе, поправленный в ai.
В нем уже нет растра.

Применение подобного подхода вполне возможны. Поэтому, повторяю, если не Вы автор исходных файлов, то xmp доверять нелья. Равно как и расширению.
 

Вложения

Еще интереснее, если eps сделан в Фотошопе и пересохранен в Иллюстраторе.
 
Статус
Закрыто для дальнейших ответов.