// Zeigt die Bildbeschreibung in einem Textfeld an if (app.documents.length != 0){ var mySel = app.selection[0]; var myDoc = app.activeDocument; var myLinks = myDoc.links; if (mySel != undefined) { switch (mySel.constructor.name) { case "Rectangle": if (mySel.images.length == 1) { var myInfo = loadBeschreibung(mySel.images[0]); myNumberDialog(myInfo); } break; case "Image": var myInfo = loadBeschreibung(mySel); myNumberDialog(myInfo); break; default: alert("Bildbeschreibung" + "\r" + "Bitte wählen Sie einen Rahmen mit Bild aus."); exit(); break; } } else { alert("Bildbeschreibung" + "\r" + "Bitte wählen Sie einen Rahmen mit Bild aus."); } } else{ alert ("Bitte öffnen Sie ein Dokument und versuchen Sie es erneut."); } function myNumberDialog(myInfo) { if (myInfo == "") myInfo = "keine Bildbeschreibung vorhanden"; myDlg = new Window('dialog', 'IPTC-Bildbeschreibung'); myDlg.preferredSize = [ 400, 400 ]; myDlg.panel1 = myDlg.add('panel', undefined); myDlg.textEditbox = myDlg.add('edittext', [15,15,300,300], undefined, {multiline:true}); myDlg.textEditbox.alignment = "left"; myDlg.textEditbox.text = myInfo; with(myDlg.add('group')){ orientation = 'column'; alignment = 'right'; myDlg.myCloseButton = add('button', undefined, "Schließen", {name:'cancel'}); } myDlg.myCloseButton.onClick = function(){myDlg.close()}; var result = myDlg.show(); switch (result) { case 1: //copyTextToClipboard(); break; case 2: alert("two"); break; case 3: alert("two"); break; default: break; } } function loadBeschreibung(curImage) { if (ExternalObject.AdobeXMPScript == undefined){ try { ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript'); } catch(ex) { alert("Konnte AdobeXMPScript Bibliothek nicht laden."); return; } }; var curLink = curImage.itemLink; if (curLink.status == LinkStatus.LINK_MISSING) { alert("Fehlende Verknüpfung" + "\r" + "Bitte prüfen Sie, ob der Server gemountet ist und" + "\r" + "führen Sie das Skript erneut aus." ); exit(); } try { curFile = new File(curLink.filePath); } catch(ex) { alert("Die Verknüpfung ist nicht vorhanden"); } xmpFile = new XMPFile(curFile.fsName, XMPConst.UNKNOWN, XMPConst.OPEN_FOR_UPDATE); xmp = xmpFile.getXMP(); // Informationen im IPTC Feld, kein XMP var curDescription = xmp.getProperty(XMPConst.NS_DC, "description[1]"); xmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY); return curDescription; }