horizontalMeasurementUnits = MeasurementUnits.points; verticalMeasurementUnits = MeasurementUnits.points;
)
var myNumberOfFrames = myFiles.length;
var myNumberOfPages = Math.round(myNumberOfFrames / myFramesPerPage);
// Если количество размещаемых изображений не помещается в публикации, // добавляем нужное количество страниц
if ((myNumberOfPages * myFramesPerPage) < myNumberOfFrames)( myNumberOfPages++;
}
// Определяем размеры допустимой области на листе // для размещения каталога var myMap = myDocument.pages[0]; with(myMap.marginPreferences)( var myLeftMargin =left; var myTopMargin =top; var myRightMargin =right; var myBottomMargin =bottom;
}
with( myDocument.documentPreferences){ pagesPerDocument = myNumberOfPages; facingPages = false;
var myLiveWidth = (pageWidth - (myLeftMargin + myRightMargin)) + myHorizontalOffset var myLiveHeight = pageHeight - (myTopMargin + myBottomMargin)
}
//По ним определяем количество строк и столбцов,
// а также их физические размеры myColumnWidth = myLiveWidth / myNumberOfColumns myFrameWidth = myColumnWidth - myHorizontalOffset myRowHeight = (myLiveHeight / myNumberOfRows)
myFrameHeight = myRowHeight - myVerticalOffset yMaps = myDocument.pages,•
// Если пользователь выбрал добавление названий файлов.,
II создаем для этого отдельный слой if(myLabels >0){
myLabelStyle = myDocument.paragraphStyles.add({name:"labels"}); myLabelStyle.pointSize = 8;
myLabelLayer = myDocument.layers.add({name:"labels"}) ;
}
II Собственно размещение.
11 Идем по всем страницам
for (i = myDocument.pages.length-1; i >= 0; i-){ myMap = myMaps.item(i);
// Заполняем по очереди каждый ряд
for (myRowCounter = myNumberOfRows; myRowCounter >=1; 'b myRowCounter-){ myYl = myTopMargin + (myRowHeight * (myRowCounter-1)); myY2 = myYl + myFrameHeight;
II В каждую ячейку вставляем изображение
for (myColumnCounter = myNumberOfColumns; myColumnCounter >= 1; 'Ь myColumnCounter-){ myXl = myLeftMargin + (myColumnWidth * (myColumnCounter-l)); myX2 = myXl + myFrameWidth;
myRectangle = myMap.rectangles.add(myDocument.layers.item(-l), undefined, undefined, {geometricBounds:[myYl, myXl, myY2, 'b myX2], strokeWeight: 0,
strokeColor:myDocument.swatches.item("None") }) ;
}
}
}
II Пробегаем по всем изображениям и решаем вопрос //с расположением содержимого в контейнере for (i =0; i < myNumberOfFrames; i++){ myFile = myFiles[i];
myRectangle = myDocument.rectangles.item(i) ; myRectangle.place(File(myFile)); myRectangle.label = myFile.fsName.toString() ;
if (myFitProportional){
myRectangle.fit(FitOptions.proportionally) ;
}
if (myFitCenterContent){
myRectangle.fit(FitOptions.centerContent);
}
if(myFitFrameToContent){
myRectangle.fit(FitOptions.frameToContent);
}
// Если нужна подпись для изображения, делаем зто if(myLabels >0){
myXl = myRectangle.geometricBounds[1]; myYl = myRectangle.geometricBounds[2]; myX2 = myRectangle.geometricBounds[3]; myY2 = myRectangle.geometricBounds[2]+myVerticalOffset;
switch(myLabels){ case 1:
myString = myFile.name; break; case 2: