var myFiles = new Array;
var myFilteredFiles = new Array;
//The myExtensions array contains the extensions of the graphic file types you want
//to include in the catalog. You can remove extensions from or add extensions to this list.
var myExtensions = [".jpg", ".jpeg", ".eps", ".ps", ".pdf", ".tif", ".tiff", ".gif", ".psd", ".ai"]
$.level = 1;
//Display the folder browser.
var myFolder = Folder.selectDialog("Select the folder containing the images", "");
var myRankFolder = Folder.selectDialog("Select the folder containing the rank-images", "");
var myCSVFile = File.openDialog("Please select the csv-File for import");
//Get the path to the folder containing the files you want to place.
if(myFolder != null){
if(myCSVFile != null){
for(myExtensionCounter = 0; myExtensionCounter < myExtensions.length; myExtensionCounter++){
myExtension = myExtensions[myExtensionCounter];
myFiles = myFolder.getFiles("*"+ myExtension);
if(myFiles.length != 0){
for(var myFileCounter = 0; myFileCounter < myFiles.length; myFileCounter++){
myFilteredFiles.push(myFiles[myFileCounter]);
}
}
}
if(myFilteredFiles.length != 0){
myDisplayDialog(myFilteredFiles, myFolder, myCSVFile, myRankFolder);
}
}
}
function myDisplayDialog(myFiles, myFolder, myCSVFile, myRateFolder){
var myLabelWidth = 115;
var myDialog = app.dialogs.add({name:"Magic Catalog"});
with(myDialog.dialogColumns.add()){
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Information"});
}
}
with(borderPanels.add()){
with(dialogColumns.add()){
with(dialogRows.add()){
staticTexts.add({staticLabel:"Image Source Folder:", minWidth:myLabelWidth});
staticTexts.add({staticLabel:myFolder.path + "/" + myFolder.name});
}
with(dialogRows.add()){
staticTexts.add({staticLabel:"Rank Source Folder:", minWidth:myLabelWidth});
staticTexts.add({staticLabel:myRateFolder.path + "/" + myRankFolder.name});
}
with(dialogRows.add()){
staticTexts.add({staticLabel:"Source CSV-File:", minWidth:myLabelWidth});
staticTexts.add({staticLabel:myCSVFile.path + "/" + myCSVFile.name});
}
with(dialogRows.add()){
staticTexts.add({staticLabel:"Number of Images:", minWidth:myLabelWidth});
staticTexts.add({staticLabel:myFiles.length + ""});
}
}
}
// with(dialogRows.add()){
// staticTexts.add({staticLabel:"Options"});
// }
// with(borderPanels.add()){
// with(dialogColumns.add()){
// with(dialogRows.add()){
// with(dialogColumns.add()){
// staticTexts.add({staticLabel:"Number of Rows:", minWidth:myLabelWidth});
// }
// with(dialogColumns.add()){
// var myNumberOfRowsField = integerEditboxes.add({editValue:3});
// }
// }
// with(dialogRows.add()){
// staticTexts.add({staticLabel:"Number of Columns:", minWidth:myLabelWidth});
// var myNumberOfColumnsField = integerEditboxes.add({editValue:3});
// }
// with(dialogRows.add()){
// var myLabelsCheckbox = checkboxControls.add({staticLabel:"Add Labels", checkedState:true});
// }
// with(dialogRows.add()){
// var myRemoveEmptyFramesCheckbox = checkboxControls.add({staticLabel:"Remove Empty Frames:", checkedState:true});
// }
// }
// }
}
var myResult = myDialog.show();
if(myResult == true){
// var myNumberOfRows = myNumberOfRowsField.editValue;
// var myNumberOfColumns = myNumberOfColumnsField.editValue;
// var myLabels = myLabelsCheckbox.checkedState;
// var myRemoveEmptyFrames = myRemoveEmptyFramesCheckbox.checkedState;
// myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myLabels, myRemoveEmptyFrames);
myMakeImageCatalog(myFiles, myCSVFile, myFolder, myRateFolder);
}
myDialog.destroy();
}
//function myMakeImageCatalog(myFiles, myNumberOfRows, myNumberOfColumns, myLabels, myRemoveEmptyFrames){
function myMakeImageCatalog(myFiles, myCSVFile, myFolder, myRateFolder){
var myPage, myFile, myCounter, myRectangle;
var myDocument = app.activeDocument;
myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
var myDocumentPreferences = myDocument.documentPreferences;
// var myNumberOfFrames = myFiles.length;
// var myNumberOfPages = Math.round(myNumberOfFrames / myFramesPerPage);
// if ((myNumberOfPages * myFramesPerPage) < myNumberOfFrames){
// myNumberOfPages++;
// }
// myDocumentPreferences.pagesPerDocument = myNumberOfPages;
// myDocumentPreferences.facingPages = false;
var myPage = myDocument.pages.item(0);
var myPages = myDocument.pages;
var myPicWidth = 99.1;
var myPicHeight = 141.8;
var myPicRWidth = 85.9;
var myPicRHeight = 7;
var myPos1X1 = new Array();
var myPos1X2 = new Array();
var myPos1Y1 = new Array();
var myPos1Y2 = new Array();
var myPos2X1 = new Array();
var myPos2X2 = new Array();
var myPos2Y1 = new Array();
var myPos2Y2 = new Array();
var myPosR1X1 = new Array();
var myPosR1X2 = new Array();
var myPosR1Y1 = new Array();
var myPosR1Y2 = new Array();
var myPosR2X1 = new Array();
var myPosR2X2 = new Array();
var myPosR2Y1 = new Array();
var myPosR2Y2 = new Array();
myPos1X1[0]=28;
myPos1X1[1]=149;
myPos1X1[2]=270;
myPos1X1[3]=28;
myPos1X1[4]=149;
myPos1X1[5]=270;
myPos1X1[6]=28;
myPos1X1[7]=149;
myPos1X1[8]=270;
myPos1Y1[0]=34;
myPos1Y1[1]=34;
myPos1Y1[2]=34;
myPos1Y1[3]=211;
myPos1Y1[4]=211;
myPos1Y1[5]=211;
myPos1Y1[6]=388;
myPos1Y1[7]=388;
myPos1Y1[8]=388;
myPos2X1[0]=455;
myPos2X1[1]=576;
myPos2X1[2]=697;
myPos2X1[3]=455;
myPos2X1[4]=576;
myPos2X1[5]=697;
myPos2X1[6]=455;
myPos2X1[7]=576;
myPos2X1[8]=697;
myPos2Y1[0]=34;
myPos2Y1[1]=34;
myPos2Y1[2]=34;
myPos2Y1[3]=211;
myPos2Y1[4]=211;
myPos2Y1[5]=211;
myPos2Y1[6]=388;
myPos2Y1[7]=388;
myPos2Y1[8]=388;
myPosR1X1[0]=53;
myPosR1X1[1]=174;
myPosR1X1[2]=294;
myPosR1X1[3]=53;
myPosR1X1[4]=174;
myPosR1X1[5]=294;
myPosR1X1[6]=53;
myPosR1X1[7]=174;
myPosR1X1[8]=294;
myPosR1Y1[0]=197;
myPosR1Y1[1]=197;
myPosR1Y1[2]=197;
myPosR1Y1[3]=374;
myPosR1Y1[4]=374;
myPosR1Y1[5]=374;
myPosR1Y1[6]=551;
myPosR1Y1[7]=551;
myPosR1Y1[8]=551;
myPosR2X1[0]=479;
myPosR2X1[1]=600;
myPosR2X1[2]=721;
myPosR2X1[3]=479;
myPosR2X1[4]=600;
myPosR2X1[5]=721;
myPosR2X1[6]=479;
myPosR2X1[7]=600;
myPosR2X1[8]=721;
myPosR2Y1[0]=197;
myPosR2Y1[1]=197;
myPosR2Y1[2]=197;
myPosR2Y1[3]=374;
myPosR2Y1[4]=374;
myPosR2Y1[5]=374;
myPosR2Y1[6]=551;
myPosR2Y1[7]=551;
myPosR2Y1[8]=551;
for (var i = 0; i < 9; i++ ){
myPos1X2[i] = myPos1X1 + myPicWidth;
myPos1Y2[i] = myPos1Y1 + myPicHeight;
myPos2X2[i] = myPos1X1 + myPicWidth;
myPos2Y2[i] = myPos1Y1 + myPicHeight;
myPosR1X2[i] = myPosR1X1 + myPicRWidth;
myPosR1Y2[i] = myPosR1Y1 + myPicRHeight;
myPosR2X2[i] = myPosR1X1 + myPicRWidth;
myPosR2Y2[i] = myPosR1Y1 + myPicRHeight;
}
var myResult = myCSVFile.open("r", undefined, undefined);
var myCounter = 0;
var mySiteCounter = 1;
var mySiteSite = 1;
do{
myCounter++;
var myLine = myCSVFile.readln();
var myCSVArray = myLine.split(",");
var myBildName = myCSVArray[0];
var myBildRate = myCSVArray[1];
myPage = myPages.item(mySiteCounter) ;
if (mySiteSite == 0){
var myX1 = myPos1X1[myCounter];
var myX2 = myPos1X2[myCounter];
var myY1 = myPos1Y1[myCounter];
var myY2 = myPos1Y2[myCounter];
myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")});
}else{
var myX1 = myPos2X1[myCounter];
var myX2 = myPos2X2[myCounter];
var myY1 = myPos2Y1[myCounter];
var myY2 = myPos2Y2[myCounter];
myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")});
}
myRectangle.place(File(myFolder+"/"+myFolder.name+"/"+myBildName));
myRectangle.label = myFile.fsName.toString();
myRectangle.fit(FitOptions.proportionally);
myRectangle.fit(FitOptions.centerContent);
myRectangle.fit(FitOptions.frameToContent);
if (mySiteSite == 0){
var myX1 = myPosR1X1[myCounter];
var myX2 = myPosR1X2[myCounter];
var myY1 = myPosR1Y1[myCounter];
var myY2 = myPosR1Y2[myCounter];
myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")});
}else{
var myX1 = myPosR2X1[myCounter];
var myX2 = myPosR2X2[myCounter];
var myY1 = myPosR2Y1[myCounter];
var myY2 = myPosR2Y2[myCounter];
myRectangle = myPage.rectangles.add(myDocument.layers.item(-1), undefined, undefined, {geometricBounds:[myY1, myX1, myY2, myX2], strokeWeight:0, strokeColor:myDocument.swatches.item("None")});
}
myRectangle.place(File(myFolder+"/"+myRateFolder.name+"/"+myBildRate));
myRectangle.label = myFile.fsName.toString();
myRectangle.fit(FitOptions.proportionally);
myRectangle.fit(FitOptions.centerContent);
myRectangle.fit(FitOptions.frameToContent);
if (myCounter == 8){
myCounter = 0;
mySiteCounter++;
if (mySiteSite == 1){
mySiteSite = 0;
}else{
mySiteSite = 1;
}
}
} while(myCSVFile.eof == false);
}