Если есть вопросы по скриптам

Статус
Закрыто для дальнейших ответов.

ARGOS

Участник
Сообщения
64
Реакции
0
Ответ: Если есть вопросы по скриптам

И как в таком случае должен выглядеть код?
 

boriskasmoscow

15 лет на форуме
Сообщения
343
Реакции
410
Ответ: Если есть вопросы по скриптам

PHP:
selText = ... // ссылка на выделенный текст
targetTF = ... // целевой текстовый фрейм, получаете ссылку на него или создаете 
selText.move(LocationOptions.atBeginning, targetTF.insertionPoints.item(0)); // в начало фрейма
// или перед последней строкой вычислить нужную insertionPoints
 

boriskasmoscow

15 лет на форуме
Сообщения
343
Реакции
410
Ответ: Если есть вопросы по скриптам


Не по теме:
CODE, учту
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

вопрос: можно ли сохранить каждую страницу документа в отдельный файл?
 

cmyk2002

Участник
Сообщения
1
Реакции
0
Ответ: Если есть вопросы по скриптам

Доброго дня. Помогите пожалуйста. Нужен очень простой скрипт "выравнивания относительно margins".
Задача:
выровнять объект относительно левой нижней границы margins со смещением 4мм влево и 4мм вниз (рис. см. ниже)

primer.PNG
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

Можн о.
Можн о -2.

спасибо!
(примечание :скрипы работают на cs4 , если кому тоже понадоится)


вопрос 2: есть задача. нужно поместить обьект(в кривых) в конце каждой строки таблицы.
поэтому вопросы такие:
как сделать копию обьекта и поместит в определенном месте.
и как узнать координаты ячейки таблицы.
(в документации почему то ненашел таких "параметров координат" ни у таблицы, ни у ячейки.. или не там искал )
 

boriskasmoscow

15 лет на форуме
Сообщения
343
Реакции
410
Ответ: Если есть вопросы по скриптам

Поместить объект в конце каждой строки таблицы - не ясно, в колонку таблицы помещается объект, или нет.
Как сделать копию объекта - смотрите метод dublicate.
Координаты ячейки таблицы можно узнать через координаты insertionPoints[0] в ячейке.
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

Поместить объект в конце каждой строки таблицы - не ясно, в колонку таблицы помещается объект, или нет.
Как сделать копию объекта - смотрите метод dublicate.
Координаты ячейки таблицы можно узнать через координаты insertionPoints[0] в ячейке.

почти уже начинаю разбираться, скрипт сделал.
нашел сам dublicate.координаты вычислял через родителя таблицы - текстового фрейма. (у него есть geometricBounds) хотя наверно не всегда поможет когда есть две таблицы внутри текстового фрейма.

вопрос еще вот какой. можно ли как то узнать какой странице принадлежит обьект
(если идти вниз по parent то приходим к какому то Spread а не к page...)
 

boriskasmoscow

15 лет на форуме
Сообщения
343
Реакции
410
Ответ: Если есть вопросы по скриптам

Для InDesign CS4 Harbs приводил такую ф-цию
Код:
function findPage(theObj) { 
    var thePage = theObj; 
    if (thePage.hasOwnProperty("baseline")) { 
      thePage = thePage.parentTextFrames[0]; 
    } 
    while (thePage.constructor.name != "Page") { 
      var whatIsIt = thePage.constructor.name; 
      switch (whatIsIt) { 
        case "Story" : 
          thePage = thePage.textFrames[-1].parent; 
          break; 
        case  "Character" : 
          thePage = thePage.parentTextFrames[0]; 
          break; 
        case "Cell" : 
          try { 
            thePage = thePage.insertionPoints[0].parentTextFrames[0]; 
            break; 
          } catch (e) { 
            // must be overset, so ignore 
            return null; 
          } 
        case "Application" : 
          // must be off page, so ignore 
          return null; 
      } 
      thePage = thePage.parent; 
    } 
    return thePage 
  }
В CS5 поменялась иерархия объектов и это вряд ли будет работать. Существует версия этой ф-ции и для CS5, надо поискать. Или, разобравшись, подправить эту. Товарищи спрашивающие! Всегда пишите какая у вас версия Индизайна! Это важно!
 

_JVK_

Чатланин
10 лет на форуме
Сообщения
184
Реакции
175
Ответ: Если есть вопросы по скриптам

вопрос еще вот какой. можно ли как то узнать какой странице принадлежит обьект
(если идти вниз по parent то приходим к какому то Spread а не к page...)

Код:
app.selection[0].parentPage.name

Подойдет?
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

Код:
app.selection[0].parentPage.name

Подойдет?

подходит.

но я пошел от обратного ) и стал проверять этот spread (оказалось, что spread это развороты)
myTable.parent.parent.id == app.activeWindow.activeSpread.id

продолжаю изучение.
хочу трансформировать прямоугольник (с фото внутри) но geometricBounds почему то не работает на нем...
transform вроде как только scale делает и точные величины ввести нельзя...
как задать точные размеры прямоугольнику?
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

geometricBounds почему то не работает на нем...
Должен сработать ))
Если бы Вы показали пример, как Вы это делали, разговор был бы более предметным, а так — один из вариантов:
Код:
var myGB = myRectangle.geometricBounds;
myRectangle.geometricBounds = [myGB[0], myGB[1], myGB[0]+myHeight, myGB[1]+myWidth];
где myHeight — высота прямоугольника;
myWidth — ширина.
Обратите внимание, что при таком задании параметров поменяются размеры только прямоугольника. Содержимое размеры не поменяет.
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

да. работает.. странно, видимо был глюк.
я писал так app.selection[0].geometricBounds =[10,20,30,40];
ошибка была чтото типо "не может определить рамку".
---
использую русский cs5
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

пытаюсь автоматизировать сохранение в pdf всех файлов из папки. как узнать имя файла (без расширения!) и текущую папку что бы сохранилось в ту же что и сам файл.
 

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
Ответ: Если есть вопросы по скриптам

Да хоть бы и так:
Код:
app.activeDocument.filePath

var myDocName = app.activeDocument.name;
var myDocOnlyName = myDocName.substr(0,myDocName.length-5);
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

мда. чем дальше изучаю скрипты, тем больше понимаю, что сделано все не для людей) приходится все чтото выдумывать
 

zx230

Участник
Сообщения
69
Реакции
0
Ответ: Если есть вопросы по скриптам

еще довольно необычный вопрос. есть прямоугольник. в окне видно только его часть. можно ли как то узнать какие вершины показываются, а какие за краями окна(те которые невидно).
 

SuperYurick

Участник
Сообщения
2
Реакции
0
Ответ: Если есть вопросы по скриптам

Всем добрый день!

Совсем недавно начал разбираться со скриптами, поэтому прошу проявить снисхождение, если вопрос окажется глупым. Но я уже три дня не могу найти на него ответ.

Есть задача: нужно создать MultiState об"ект, имеющий два состояния, в каждом - один и тот же фрейм с картинкой, но в разном масштабе. Переключаться состояния должны нажатием на саму картинку. В ИнДизайне всё делается очень просто и красиво, но таких об"ектов ожидается несколько сотен.

Написал скрипт (JavaScript), который создаёт документ, импортирует изображение, создает MultiState, подгоняет размеры фреймов и их взаимное расположение. Проблема с кнопками. Подскажите, пожалуйста, как сделать уже существующие фреймы кнопками для переключения между состояниями? Версия InDesign CS5.5.
 
Статус
Закрыто для дальнейших ответов.