Проблема вот какого свойства.
Имеем набор картинок определенного размера в tiff. Про каждую картинку известны ее высота и ширина. Причем в реальности зачастую из-за кривых рук изготовителей картинок реальные размеры высоты и ширины могу слегка не соответствовать действительности (+ - 1-2 милиметра).
Необходимо разместить эти файлы в документе InDesign при чем естественно что размер фреймов должен быть точным (например, 120х70 мм).
Я написал вот такой скрипт:
Собственно f - ссылка на файл, p - номер страницы, X,Y - "неправильные" координаты (относительные потом они пересчитываются в реальные), w,h - высота и ширина объекта в миллиметрах.
По итогу получаем фрейм, который стоит в правильном месте, но при это имеет не правильные размеры. Если в ручную установить у такого фрейма высоту и ширину, а потом указать типа fit'a то все нормально - картинка масштабируется. Но вот в скрипте мне реализовать такой ход не удалось.
PS вместо имени константы fit'a использовал и числовое обозначение, ничего не изменилось.
PPS
Пример вызова функции в скрипте:
var myfile=File("/C/v6/auto_verst/tuk/v326000804.tif"); plf(myfile,0,0,3,87,45);
В итоге получается фрейм вот с такими размерами:
w = 87.353 mm, h = 45.353 mm.
Место положение тоже не точное, и тоже отличается на несколько сотых миллиметра.
Сразу скажу что исключить вопросы.
1. Вычисления производятся в мм, предварительно для документа устанавливается, что единица измерения мм.
2. опущенные вычисления НЕ содержат умножения и деления (только + и - в зависимости от того правая это страница или левая), то есть и там эта ошибка возникнуть не может.
Заранее спасибо.
Имеем набор картинок определенного размера в tiff. Про каждую картинку известны ее высота и ширина. Причем в реальности зачастую из-за кривых рук изготовителей картинок реальные размеры высоты и ширины могу слегка не соответствовать действительности (+ - 1-2 милиметра).
Необходимо разместить эти файлы в документе InDesign при чем естественно что размер фреймов должен быть точным (например, 120х70 мм).
Я написал вот такой скрипт:
Код:
function plf(f,p,x,y,w,h)
{
r=app.activeDocument.pages.item(p).rectangles.add();
r.place(f);
r.geometricBounds=[0,0,h,w];
r.fit(FitOptions.CONTENT_TO_FRAME);
r.textWrapPreferences.textWrapType = TextWrapTypes.JUMP_OBJECT_TEXT_WRAP;
. //Небольшие магические манипуляции вычисления точных координат
r.move([x,y]);
}
Собственно f - ссылка на файл, p - номер страницы, X,Y - "неправильные" координаты (относительные потом они пересчитываются в реальные), w,h - высота и ширина объекта в миллиметрах.
По итогу получаем фрейм, который стоит в правильном месте, но при это имеет не правильные размеры. Если в ручную установить у такого фрейма высоту и ширину, а потом указать типа fit'a то все нормально - картинка масштабируется. Но вот в скрипте мне реализовать такой ход не удалось.
PS вместо имени константы fit'a использовал и числовое обозначение, ничего не изменилось.
PPS
Пример вызова функции в скрипте:
var myfile=File("/C/v6/auto_verst/tuk/v326000804.tif"); plf(myfile,0,0,3,87,45);
В итоге получается фрейм вот с такими размерами:
w = 87.353 mm, h = 45.353 mm.
Место положение тоже не точное, и тоже отличается на несколько сотых миллиметра.
Сразу скажу что исключить вопросы.
1. Вычисления производятся в мм, предварительно для документа устанавливается, что единица измерения мм.
2. опущенные вычисления НЕ содержат умножения и деления (только + и - в зависимости от того правая это страница или левая), то есть и там эта ошибка возникнуть не может.
Заранее спасибо.