var MyBuild = "15.49.2";
var MyVersion = "2";
var MyScriptNameShort = "JYSK BookmarkXport";
var MyScriptName = MyScriptNameShort+" v"+MyVersion+"."+MyBuild
// alert("Renderstyle:\r"+app.JPEGExportPreference.jpegRenderingStyle+"\r\rRes:\r"+app.jpegExportPreferences.exportResolution+"\r\rQuali:\r"+app.jpegExportPreferences.jpegQuality+"\r\rAA:\r"+app.jpegExportPreferences.antiAlias+"\r\rSpread:\r"+app.jpegExportPreferences.antiAlias);
// 0.FullPath – 1.Fullpath+Folders – 2.Shortname – 3.Pagesize – 4.selected - 5.BMcounterZb "002" - 6. Land(zB "de_ch")
var BM = ["", "", "", "", 1, true, ""];
var myMark = [];
if (app.documents.length == 0) {
alert("Keine Dokument geöffnet.");
} else if (app.activeDocument.bookmarks.length == 0) {
alert("Keine Leesezeichen im Dokument.\r\rLesezeichen = Seitenname/Sprachversion\r · Land aus Dateiname (!CH)\r · Bannertyp aus Abmessung\r\rAusgabebeispiel: 9er_Banner_»WSV_1«_it_ch.jpg");
} else if (filenamecheck() == false) {
alert("Dateiname ungültig.\rSyntax:\r#Typ @Titel !Land\r\rBeispiel:\r#Themenwelt @Winter !AT\r\rAusgabe-Beispiel:\r6er_Themenwelt_»Winter«_de_at.jpg");
} else {
// Hier gehts los
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW;
alert(app.jpegExportPreferences.jpegQuality);
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;
alert(app.jpegExportPreferences.jpegQuality);
var RootFolder = "~/Desktop";
// var RootFolder = Folder.selectDialog ("Bitte Export-Ordner wählen");
var myDoc = app.activeDocument;
var myDocName = myDoc.name.replace(/\.[^.$]+$/, '');
var myTyp = myDocName.substring((myDocName.search("#")+1),(myDocName.search("@")-1));
var myTitel = myDocName.substring((myDocName.search("@")+1),(myDocName.search("!")-1));
var myLand = myDocName.substring((myDocName.search("!")+1)).toLowerCase();
for (var i = 0; i < myDoc.bookmarks.length; i++)
{
BM = ["", "", "", "", 1, true, ""];
BM[6] = myDoc.bookmarks[i].name.toLowerCase()+"_"+myLand;
BM[5] = 0;
BM[4] = false;
BM[3] = ReturnSize(Math.round(myDoc.bookmarks[i].destination.destinationPage.bounds[3]) +"x"+Math.round(myDoc.bookmarks[i].destination.destinationPage.bounds[2]));
BM[2] = BM[3]+" | "+BM[6]+" | "+NumLength(BM[5]);
BM[1] = "leer2";
BM[0] = "leer1";
myMark.push(BM);
}
for (var i = 0; i < myMark.length; i++) {
lookfor = myMark[i][2];
for (var j = i; j < myMark.length; j++) {
if (myMark[j][2].toString().indexOf(lookfor) != -1) {myMark[j][5]++; myMark[j][2] = myMark[j][3]+" | "+myMark[j][6]+" | "+NumLength(myMark[j][5]);}
}
}
for (var i = 0; i < myMark.length; i++) {
myMark[i][0] = ""+RootFolder+"/"+myMark[i][3]+"_"+myTyp+"_»"+myTitel+"«_"+myMark[i][6]+"_"+NumLength(myMark[i][5])+".jpg"
myMark[i][1] = ""+RootFolder+"/"+myMark[i][6]+"/"+myMark[i][3]+"_"+myTyp+"_»"+myTitel+"«_"+myMark[i][6]+"_"+NumLength(myMark[i][5]);
}
MyWindow();
// Hier endets
};
function MyWindow()
{
var w = new Window ("dialog",MyScriptName);
w.preferredSize = [250, 200];
w.alignChildren = "left";
var z0 = w.add ("group");
z0.add ("statictext", undefined, "Pfad:" );
var PfadButt = z0.add ("button", undefined, "Wahl…");
var z0a = w.add ("statictext", undefined, RootFolder);
z0a.graphics.font = "Verdana:11"
PfadButt.onClick = function ()
{RootFolder = Folder.selectDialog ("Bitte Export-Ordner wählen");
z0a.text = RootFolder.fullName.substring((_folder.fullName.length - 35), _folder.fullName.length); }
var z1 = w.add ("group");
z1.add ("statictext", undefined, "Auflösung:");
myDropdownRes = z1.add ("dropdownlist", undefined, [72.0, 150.0, 300.0]);
myDropdownRes.selection = 0;
var z2 = w.add ("group");
z2.add ("statictext", undefined, "Qualität:");
myDropdownQual = z2.add ("dropdownlist", undefined, [JPEGOptionsQuality.LOW, JPEGOptionsQuality.MEDIUM, JPEGOptionsQuality.HIGH, JPEGOptionsQuality.MAXIMUM]);
myDropdownQual.selection = 3;
checkAA = w.add ("checkbox", undefined, "Anti-Alias");
checkSP = w.add ("checkbox", undefined, "Druckbögen");
checkOF = w.add ("checkbox", undefined, "Unterordner anlegen (_"+myLand+")");
checkAA.value = true;
checkSP.value = false;
checkOF.value = true;
w.add ("panel", [0,0,262,2]);
var tempList = [];
for (var i = 0; i < myMark.length; i++) {tempList[i] = " "+myMark[i][2]}
myList = w.add ("listbox", undefined, tempList, {multiselect: true});
for (var i = 0; i < myList.items.length; i++) {myList.items[i].checked = true; myList.selection = i;}
myList.size = [262,200];
myList.onChange = function () {
for (var i = 0; i < myList.items.length; i++) {
if (myList.items[i].selected == true)
{myList.items[i].checked = true; myList.items[i].checked = true;}
else {myList.items[i].checked = false; }
}
}
var buttons = w.add ("group")
var OKbutt = buttons.add ("button", undefined, "OK", {name: "ok"});
buttons.add ("button", undefined, "Abbruch", {name: "cancel"});
HELPbutt = buttons.add ("button", undefined, "Hilfe", {name: "help"});
HELPbutt.onClick = function ()
{
alert(MyScriptNameShort+"\rVersion/Build: "+MyVersion+"."+MyBuild+"\rAutor: Jan Krause");
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW;
alert(app.jpegExportPreferences.jpegQuality);
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;
alert(app.jpegExportPreferences.jpegQuality);
}
OKbutt.onClick = function ()
{
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW;
alert(app.jpegExportPreferences.jpegQuality);
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;
alert(app.jpegExportPreferences.jpegQuality);
for (var i = 0; i < myList.items.length; i++)
{ if (myList.items[i].selected == true) { myMark[i][4] = true;} }
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW;
alert(app.jpegExportPreferences.jpegQuality);
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW;
alert(app.jpegExportPreferences.jpegQuality);
app.jpegExportPreference.jpegRenderingStyle = JPEGOptionsFormat.PROGRESSIVE_ENCODING;
app.jpegExportPreferences.exportResolution = myQualiChoice;
app.jpegExportPreferences.jpegExportRange = ExportRangeOrAllPages.exportRange;
app.jpegExportPreferences.jpegQuality = myQualiChoice;
app.jpegExportPreferences.exportingSpread = checkSP.value;
app.jpegExportPreferences.antiAlias = checkAA.value;
// alert("Renderstyle:\r"+app.jpegExportPreference.jpegRenderingStyle+"\r\rRes:\r"+app.jpegExportPreferences.exportResolution+"\r\rQuali:\r"+app.jpegExportPreferences.jpegQuality+"\r\rAA:\r"+app.jpegExportPreferences.antiAlias+"\r\rSpread:\r"+app.jpegExportPreferences.antiAlias);
for (var k = 0; k < myMark.length; k++)
{
if (myMark[k][4] == true)
{
if (checkOF.value == false) {
app.jpegExportPreferences.pageString = myDoc.bookmarks[k].destination.destinationPage.name;
// myExport(myQualiChoice, myResChoice, checkAA.value, checkSP.value, myMark[k][0].absoluteURI, k);
}
else
{ var ff = new Folder(RootFolder+"/"+myMark[k][6]);
if (!ff.exists) ff.create();
//myExport(myQualiChoice, myResChoice, checkAA.value, checkSP.value, myMark[k][1]+".jpg".absoluteURI,k);
};
}
}
alert("done.");
w.close();
}
w.show();
}
// Qualität, Auflösung, AntiAlias, Doppelseiten, Ausgabepfad, Welches Lesezeichen
function myExport(Xquali, Xdpi, XAA, XSP, Xpath, BMcounter) {
app.jpegExportPreferences.jpegQuality = JPEGOptionsFormat.PROGRESSIVE_ENCODING;
switch (Xquali) {
case "Low": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW; break;
case "Medium": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MEDIUM; break;
case "High": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.HIGH; break;
case "Max": alert("?"); app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM; alert("!");
}
app.jpegExportPreferences.jpegExportRange = ExportRangeOrAllPages.exportRange;
app.jpegExportPreferences.exportingSpread = XSP;
app.jpegExportPreferences.antiAlias = XAA;
app.jpegExportPreferences.exportResolution = Xdpi;
app.jpegExportPreferences.pageString = myDoc.bookmarks[BMcounter].destination.destinationPage.name;
var myFile = new File(Xpath);
myDoc.exportFile(ExportFormat.jpg, myFile, false);
};
function NumLength(checkthis) {
var temptextadder = "";
if (checkthis >= 10) { temptextadder = "0"};
if (checkthis < 10) { temptextadder = "00"};
if (checkthis >= 100) { temptextadder = ""};
Stringer = temptextadder+checkthis;
return Stringer;
}
function ReturnSize(MyInput) {
var myPageSize = "default"
switch (MyInput) {
case "300x600": myPageSize = "HalfPageAd"; break;
case "230x220": myPageSize = "3er"; break;
case "470x220": myPageSize = "6er"; break;
case "710x220": myPageSize = "9er"; break;
case "950x220": myPageSize = "12er"; break;
case "710x483": myPageSize = "9er-hoch"; break;
case "950x100": myPageSize = "12er-flach"; break;
case "710x75": myPageSize = "9er-flach"; break;
case "728x90": myPageSize = "SG-banner"; break;
case "122x191": myPageSize = "TW-teaser"; break;
case "2560x1440": myPageSize = "YouTube-header"; break;
case "160x600": myPageSize = "Skyscraper-wide"; break;
case "120x600": myPageSize = "Skyscraper"; break;
case "180x150": myPageSize = "Rectangle"; break;
case "300x250": myPageSize = "Rectangle-medium"; break;
case "468x60": myPageSize = "Banner-full"; break;
case "234x60": myPageSize = "Banner-half"; break;
default: myPageSize = MyInput+"px";
}
return myPageSize
}
function filenamecheck() {
var truelean = true;
var myDocName = app.activeDocument.name.replace(/\.[^.$]+$/, '');
if (myDocName.search("#") == -1) {truelean = false}
if (myDocName.search("@") == -1) {truelean = false}
if (myDocName.search("!") == -1) {truelean = false}
return truelean
}