Моя следующая проблема — идентифицировать конкретный текстовый фрейм в InDesign CS6, ссылаясь на его положение на странице. Я знаю, что могу использовать textFrame.geometricBounds
для получения позиции, но у меня возникли проблемы с тем, чтобы оператор if
работал, хотя должен.
var textFramesArray = document.layers.item("Product Name").textFrames.everyItem().getElements();
for (var i = 0; i < textFramesArray.length; i++) {
var corners = textFramesArray[i].geometricBounds;
$.writeln(textFramesArray[i].geometricBounds);
if (4.0 < corners[0] < 5.0 && -2.0 < corners[1] < -1.0) {
$.writeln("Found textFrame " + textFramesArray[i]);
$.writeln("Its contents are " + textFramesArray[i].contents);
var productFrame = textFramesArray[i];
}
}
Первый оператор $.writelin
возвращает три набора массивов, третий из которых определенно попадает в пределы, указанные в операторе if
. У меня есть подозрение, что это как-то связано с форматированием чисел (целое, вещественное, двойное и т. д.), но я не знаю подробностей.