[ID CS4-CS6] Как найти объект исходя из его размера

Статус
Закрыто для дальнейших ответов.
На самом деле, для решения любой нестандартной задачи есть два пути: относительно простой через скриптинг, требующий наличие навыков программирования и очень нетривиальный для завсегдатаев известного пгт. По первому, думаю, вопростов нет, поэтому попробую в двух словах обрисовать общий принцип второго. Берется ваш документ, сохраняется как IDML, распаковывается архиватором как ZIP, затем в каше из XML тэгов ищутся по признаку размера или еще каким другим, нужные фреймы, а так же целевой фрейм и глобально заменяются одни на другой прямо в текстовом редакторе. После чего IDML снова архивируется и открывается в ID - бинго, все готово безо всякого скриптинга! '))'
 
  • Спасибо
Реакции: Linxy и Aleksandr Mashlay
прилинкованными файлами
То есть вместо того чтобы рисовать пером в индизайне, рисуем в фотошопе/илюстраторе и вставляем как фото?
А качество не пострадает?
 
Последнее редактирование:
можно даже в InDesign нарисовать, и потом вставить линком
 
  • Спасибо
Реакции: Aleksandr Mashlay
Главное, чтобы это был линк на один файл. И тогда все помещенные экземпляры будут обновляться при изменении файла.
 
  • Спасибо
Реакции: _MBK_ и Aleksandr Mashlay
Базовое требование — наличие общего признака для объектов, подлежащих обработке. Как я выше написал, это могут быть общий слой (отдельный для этих объектов), общий объектный стиль (аналогично), на худой конец — хоть какое-то одинаковое для этих объектов, но отличное от других элементов макета форматирование (толщина контура, эффекты прозрачности и т.п.).

Понял. Тогда вопрос в продолжение темы. Допустим я нашел нужные объекты. Их можно поменять на другие? например, было солнышко, а поменять на тучку?
 

Не по теме:
Берется ваш документ, сохраняется как IDML, распаковывается архиватором как ZIP, затем в каше из XML тэгов ищутся по признаку размера или еще каким другим, нужные фреймы, а так же целевой фрейм и глобально заменяются одни на другой прямо в текстовом редакторе.
Доктор, а как вы предпочитаете удалять гланды?

 
кстати, IDML не так и просто распаковать и запаковать обратно, там не совсем нормальный .zip
 
кстати, IDML не так и просто распаковать и запаковать обратно, там не совсем нормальный .zip
Не знаю, как в последних, но, помнится, сперва как IDML появился, это была вполне себе обычная практика правки файла по живому.
 
если его распаковать и запаковать обычно, он не откроется уже
The problem with regular zip is that the zip archive contains a “mimetype” file that shouldn’t be compressed if you want InDesign to identify the newly-created IDML. So the way you have to re-zip the file (and the way the ePub scripts work) is like this:

1. They first create a zip archive which contains only the mimetype file, uncompressed.
2. Then they add the rest of the files/folders into the zip archive, this time with full compression.

In shell script terms, the ePub scripts do this (assuming the current directory is the one containing all the IDML contents):

zip -X0 ‘myfile.idml’ mimetype # create the zip archive ‘myfile.idml’, containing only the ‘mimetype’ file with no compression

zip -rDX9 “myfile.idml” * -x “*.DS_Store” -x mimetype # add everything else to the ‘myfile.idml’ archive, EXCEPT .DS_Store files and the ‘mimetype’ file (which is already there from the previous step)

To save you time reading the zip man page, here’s what all these options mean:

-X = “no extra” — do not save extra file attributes like user/group ID for each file
-0 = “compression level zero” — no compression
-r = “recurse paths” — go through everything in the directory, including nested subfolders
-D = “no directory entries” — don’t put special stuff in the zip archive for directories
-9 = “compression level 9 (optimal)”
-x = “exclude these files”

Follow this voodoo, and you should be able to create legal IDML files.
 
  • Спасибо
Реакции: Flame
Насколько я помню, если не целиком весь каталог сворачивать, а только заменять в нем исправленные XML то срабатывало
 
правильно ) потому что нужно чтобы mimetype оставался несжатым. если его не менять в архиве, то да, все будет ок

вообще, поковыряться в IDML порой полезно. Мне недавно как раз нужно было подправить формулы в 20 таблицах шаблона для EasyCatalog, руками очень долго, а из скрипта они были никак не доступны. ну а в IDML все на ладони
 
Единственно что - процесс конвертирования INDD-IDML-INDD не то чтоб сильно безобидный. Тут на форуме несколько (хоть и очень редких) багов такого преобразования вылавливали
 
Статус
Закрыто для дальнейших ответов.