// java script Adobe Photoshop CC // // Add Metadata WebStatement and Licensor // // This is a sample script. // // Adds WebStatement and one Licensor Structure // // HOW TO USE THIS SCRIPT ? // // USE ON A CLOSED FILE (ex: via Bridge > Tools > Photoshop > Image Processor // Works on a SAVED document : use File > Save As before running this script. // // THIS SCRIPT UPDATES THE CURRENT FILE's METADATA. Does not work on a COPY. // // // // Does not cover metadata updates // Multi licensors : not adressed // No error handling // // Copyright 2020 Laurence Bichon photographe // www.laurencebichon.com // // // function AddLicensor(LicensorCity,LicensorCountry,LicensorEmail,LicensorExtendedAddress,LicensorID,LicensorName,LicensorPostalCode, LicensorRegion,LicensorStreetAddress,LicensorTelephone1,LicensorTelephone2,LicensorTelephoneType1,LicensorTelephoneType2,LicensorURL) { if(LicensorCity == undefined) LicensorCity = ''; if(LicensorCountry == undefined) LicensorCountry = ''; if(LicensorEmail == undefined) LicensorEmail = ''; if(LicensorExtendedAddress == undefined) LicensorExtendedAddress =''; if(LicensorID == undefined) LicensorID = ''; if(LicensorName == undefined) LicensorName = ''; if(LicensorPostalCode == undefined) LicensorPostalCode = ''; if(LicensorRegion == undefined) LicensorRegion = ''; if(LicensorStreetAddress == undefined) LicensorStreetAddress = ''; if(LicensorTelephone1 == undefined) LicensorTelephone1 = ''; if(LicensorTelephone2 == undefined) LicensorTelephone2 = ''; if(LicensorTelephoneType1 == undefined) LicensorTelephoneType1 = 'cell'; if(LicensorTelephoneType2 == undefined) LicensorTelephoneType2 = 'cell'; if(LicensorURL== undefined) LicensorURL = ''; var s =""; s+=""; s+=""; s+=""; s+=""+LicensorCity+""; s+=""+LicensorCountry+""; s+=""+LicensorEmail+""; s+=""+LicensorExtendedAddress+""; s+=""+LicensorID+""; s+=""+LicensorName+""; s+=""+LicensorPostalCode+""; s+=""+LicensorRegion+""; s+=""+LicensorStreetAddress+""; s+=""+LicensorTelephone1+""; s+=""+LicensorTelephoneType1+""; s+=""+LicensorTelephone2+""; s+=""+LicensorTelephoneType2+""; s+=""+LicensorURL +""; s+=""; s+=""; return s; }; //######## STARTCUSTOMIZING WITH YOUR METADATA WebStatement="your_WebStatement", LicensorCity="your_LicensorCity"; LicensorCountry="your_LicensorCountry"; LicensorEmail="your_LicensorEmail"; LicensorExtendedAddress="your_LicensorExtendedAddress"; LicensorID="your_LicensorID"; LicensorName="your_LicensorName"; LicensorPostalCode="your_LicensorPostalCode"; LicensorRegion="your_LicensorRegion"; LicensorStreetAddress="your_LicensorStreetAddress"; LicensorTelephone1="your_LicensorTelephone1"; LicensorTelephone2="your_LicensorTelephone2"; LicensorTelephoneType1="http://ns.useplus.org/ldf/vocab/cell"; LicensorTelephoneType2="http://ns.useplus.org/ldf/vocab/cell"; LicensorURL="your_LicensorURL"; //######## END OF CUSTOMIZING SECTION // load the library if( ExternalObject.AdobeXMPScript ==undefined) { ExternalObject.AdobeXMPScript =new ExternalObject( "lib:AdobeXMPScript"); } var MyDoc = app.activeDocument.fullName; MyXmpFile = new XMPFile(MyDoc.fsName, XMPConst.FILE_PHOTOSHOP, XMPConst.OPEN_FOR_UPDATE); var MyXmp = MyXmpFile.getXMP(); xmp1 = new XMPMeta( ); xmp1.setProperty(XMPConst.NS_XMP_RIGHTS, "WebStatement", WebStatement); XMPUtils.appendProperties(xmp1, MyXmp, XMPConst.APPEND_REPLACE_OLD_VALUES); xmp2 = new XMPMeta( AddLicensor(LicensorCity,LicensorCountry,LicensorEmail,LicensorExtendedAddress,LicensorID,LicensorName,LicensorPostalCode, LicensorRegion,LicensorStreetAddress,LicensorTelephone1,LicensorTelephone2,LicensorTelephoneType1,LicensorTelephoneType2,LicensorURL) ); XMPUtils.appendProperties(xmp2, MyXmp, XMPConst.APPEND_REPLACE_OLD_VALUES); if (MyXmpFile.canPutXMP( MyXmp ) ) { MyXmpFile.putXMP( MyXmp ); MyXmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY); } else { alert("putXMP", "Problem occured"); } //UNCOMMENT THE NEXT LINE AFTER THE ACTION CREATION (REMOVE //) //app.activeDocument.close();