получить доступ к данным расширения IPTC в Adobe Javascript для Bridge / Photoshop? - PullRequest
0 голосов
/ 29 января 2019

Я могу получить данные XMP / IPTC CORE просто отлично, но я не могу получить данные Iptc4xmpExt .которая является подробной информацией об искусстве или объекте.

// load the xmp library
if ( ExternalObject.AdobeXMPScript == undefined ) {
    ExternalObject.AdobeXMPScript = new ExternalObject( "lib:AdobeXMPScript");
}

//must call next line to ensure you are working with the most up to date data
app.synchronousMode = true;

//if a thumbnail is selected
if (app.document.selectionLength > 0){

    // Get the first selected thumbnail
    thumb = app.document.selections[0];

    //get the xmp data and serialize (convert to xml string )
    xmp = new XMPMeta( thumb.metadata.serialize() );

    //get a simple xmp property
    var xmpTitle = "Title: " + xmp.getLocalizedText(XMPConst.NS_DC, "title", null, "en");
    var xmpHeadline= "Headline: " + xmp.getProperty(XMPConst.NS_PHOTOSHOP, "Headline");
    var xmpAODate = "Art Object Date: " + xmp.getArrayItem( ??? **WhAT TO PUT HERE** ???);


    alert(xmpTitle + '\n' +xmpHeadline + '\n' +xmpAODate);
}//end If selected

В частности, мне нужно «AODateCreated».но я не могу понять, какое пространство имен использовать

Я пытался:

xmp.getProperty(XMPConst.NS_IPTC_CORE,"Iptc4xmpExt:AODateCreated");
xmp.getProperty(XMPConst.NS_PHOTOSHOP,"Iptc4xmpExt:AODateCreated");
xmp.getArrayItem(XMPConst.NS_IPTC_CORE, "Iptc4xmpCore:ArtworkOrObject",1);

Но не повезло, поскольку я, очевидно, не понимаю, что мне нужно делать здесь.Я считаю, что это неупорядоченный массив, но я не могу заставить это работать.

Я знаю, что данные находятся в поле, потому что я могу видеть данные, используя команду ExifTool:

exiftool -X -XMP-iptcExt:ArtWorkDateCreated 001.jpg

Вот лучшее тестовое изображение с IPTC.org

Любая помощь будет оценена!Спасибо

...