#target bridge
if( BridgeTalk.appName == "bridge" ) {
TIH = MenuElement.create("command", "Create Proofs", "at the end of Thumbnail");
}
TIH.onSelect = function () {
ThumbnailCreator();
}
function ThumbnailCreator(){
Prefs = File("~/BridgeThumbNailSticky.dat");
Sticky ={};
if(Prefs.exists){
Prefs.open('r');
Sticky = eval(Prefs.read());
Prefs.close();
}
var win = new Window( 'dialog', 'With Compliments' );
g = win.graphics;
var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);
g.backgroundColor = myBrush;
win.alignChildren="row";
win.g10 = win.add('group');
win.g10.orientation = "row";
win.title = win.g10.add('statictext',undefined,'Create Proofs');
win.title.alignment="bottom";
var g = win.title.graphics;
g.font = ScriptUI.newFont("Georgia","BOLDITALIC",26);
win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"});
win.p1.alignChildren="fill";
win.p3= win.p1.add("panel", undefined, undefined, {borderStyle:"black"});
win.g14 =win.p3.add('group');
win.g14.spacing=0;
win.g14.orientation = 'row';
win.g14.alignment="left";
win.g14.st1 = win.g14.add('statictext',undefined,"Proofs");
win.g14.st1.preferredSize=[65,20];
win.g14.et1 = win.g14.add('edittext');
win.g14.et1.preferredSize=[50,20];
win.g14.st1 = win.g14.add('statictext',undefined,"px");
win.g14.et2 = win.g14.add('edittext');
win.g14.et2.preferredSize=[100,20];
win.g14.et2.visible=false;
win.g14.st3 = win.g14.add('statictext',undefined,"Quality");
win.g14.st3.preferredSize=[60,20];
win.g14.dd1 = win.g14.add('dropdownlist');
for(var a =1;a<101;a++){
win.g14.dd1.add("item", a);
}
win.g14.dd1.selection=0;
win.g14.et1.onChanging = function() {
if (this.text.match(/[^\d]/)) {
this.text = this.text.replace(/[^\d]/g, '');
}
}
try{
if(Prefs.exists){
win.g14.et1.text =Number(Sticky.Size1);
win.g14.dd1.selection = Number(Sticky.Qual1);
}
}catch(e){}
win.g150 =win.p1.add('group');
win.g150.spacing=10;
win.g150.orientation = 'row';
win.g150.alignment="top";
win.g150.bu1 = win.g150.add('button',undefined,"Process");
win.g150.bu1.preferredSize=[200,20];
win.g150.bu2 = win.g150.add('button',undefined,"Cancel");
win.g150.bu2.preferredSize=[200,20];
win.g150.bu1.onClick = function(){
if(win.g14.et1.text == ''){
alert("Thumb 1 Size Has Not Been Entered!");
return;
}
Sticky.Size1= Number(win.g14.et1.text);
Sticky.Qual1= parseInt(win.g14.dd1.selection.index);
if(Prefs.exists) Prefs.remove();
Prefs.open("w", "TEXT", "????");
Prefs.write(Sticky.toSource());
Prefs.close();
win.close(1);
processPics();
}
win.show();
function processPics(){
var Path =app.document.presentationPath;
app.document.deselectAll();
var thumbs = app.document.getSelection("jpg");
if(!thumbs.length) return;
var Thumbnails = Folder(Path +"/JPG Proofs");
if(!Thumbnails.exists) Thumbnails.create();
for(var i in thumbs){
if(!thumbs[i].spec instanceof File) continue;
var thumb = thumbs[i];
var md = thumbs[i].synchronousMetadata;
md.namespace = "http://ns.adobe.com/tiff/1.0/";
var orientation = md.Orientation.replace(/(\w+)(\s+)(.)(\d+)(.)/,"$3$4");
if(orientation == 'Normal') orientation =0;
var bm = new BitmapData(thumbs[i].spec);
var maxSize = Math.max(bm.height,bm.width);
var minSize =Math.min(parseInt(win.g14.et1.text),maxSize);
if(minSize < maxSize) bm = bm.resize(minSize,BitmapData.bicubicSharper);
bm = bm.rotate(orientation);
var parts = thumbs[i].name.match(/(.*)\.([^\.]+)/);
bm.exportTo(new File(Thumbnails +"/"+ parts[1] +".jpg"),parseInt(win.g14.dd1.selection.index)+1);
}
allDone();
}
function allDone(){
var win = new Window( 'dialog', 'All Done' );
g = win.graphics;
var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);
g.backgroundColor = myBrush;
win.alignChildren="column";
win.g10 = win.add('group');
win.g10.orientation = "column";
win.title = win.g10.add('statictext',undefined,'Thats All Folks');
win.title.alignment="bottom";
var g = win.title.graphics;
g.font = ScriptUI.newFont("Georgia","BOLDITALIC",60);
win.g10.add('button',undefined,'Ok');
win.center();
win.show()
}
}