XMP fields not visible in Photoshop Raw Data

Started by sf66, March 10, 2021, 07:16:00 AM

Previous topic - Next topic

sf66

Hello

We have an issue where metadata set using ExifTool isn't visible in the Raw Data tab in Photoshop in a few Photoshop EPS files and am hoping someone can help and tell us why.

The fields in question are from the attached 'from_exiftool.txt' file, which I created by running: exiftool -s -a -G1 'path to file'

[XMP-xwnv]      Ren_image_id                    : 829675
[XMP-xwnv]      Ec_validation_string            : c8095e20-a903-4b49-aacd-ddc9743d7a85
[XMP-xwnv]      Ec_wn_file_id                   : 34120515
[XMP-xwnv]      Ec_approval_status              : New

However if you look at the attached 'photoshop_raw_data.txt' the fields aren't present and we don't understand why.

We are using ExifTool on a daily basis to set metadata into hundreds of files and we've only had this happen on a few seemingly random ones, but it would be good to know why it's happened.

Update:
If the file is edited in Photoshop (CC21 or CC20), the fields in question are no longer present in the file after the save according to the output from the ExifTool command above, so the metadata is being lost at that point.
However if we then write the metadata into the file again, it's in the output from ExifTool and visible in Photoshop, so the original version of the file seems to be unstable in some way.

Hope someone has some idea why this might be happening?

Thanks

Phil Harvey

Could you send me an EPS that shows this problem, along with an exact command that lets me reproduce this?  (philharvey66 at gmail.com)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

StarGeek

Dang, I typed out a long post earlier today and I guess I just never hit the post button.

But from the look of the output, there are about 4 IPTC blocks, maybe more than one EXIF block, and probably 3 XMP blocks.  It looks like your XMP-xwnv data only appears in one of those XMP blocks, so Photoshop is probably displaying one of the other blocks.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Phil Harvey

I have looked at the file and I think StarGeek is correct.  There are 3 XMP sections in this EPS file.  When you write with ExifTool, the main XMP (in the location given by the XMP specification) is updated.  I don't know why Adobe Photoshop isn't reading this one because Adobe wrote the XMP specification.  Unfortunately I can't reproduce this because I forgot that the "File Info" feature of my Photoshop stopped working a few MacOS updates ago, but I don't think there is anything much I could do about this.  You can use this command to see where the various XMP versions are stored:

exiftool -G5 -a -xmp:all FILE

ExifTool writes to EPS-XMP (the top-level XMP), but it looks like Photoshop is using EPS-IFD0-Photoshop-EXIFInfo-IFD0-XMP.  It would be nice if Adobe conformed to their own specification. :(

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

sf66

Hi Phil

Thanks for looking into this and sorry for my very slow response.

So there's no way I can control the version of XMP that ExifTool writes to or instruct it to write to all the XMP blocks present in the file?

I notice that there's some XMP from a Digital Asset Management system called 'Elvis' that resides in all three XMP blocks and one of them is visible in Photoshops File Info.

/usr/local/bin/exiftool -G5 -a -xmp:all G27_OL_IT543188_CM_003_v1.eps | grep Elvis
[EPS-IFD0-Photoshop-EXIFInfo-IFD0-XMP] Elvis ID : 06taon_k4oHACAbbDeWUiD
[EPS-Photoshop-EXIFInfo-IFD0-XMP] Elvis ID      : 06taon_k4oHACAbbDeWUiD
[EPS-XMP]       Elvis ID                        : 06taon_k4oHACAbbDeWUiD

Thanks

Phil Harvey

ExifTool doesn't expect to find XMP in the TIFF-format binary EPS header, so it doesn't process this block when writing only XMP tags.  You can trick it into processing this block by also writing some EXIF, for example -exif:artist-= (which will only delete an empty EXIF:Artist tag if it exists).  This should write the XMP found in the binary header.  Hopefully this is the one that you want to write.  (I discovered that -forcewrite=exif doesn't force writing of EXIF in the binary header as I would have hoped -- I will fix this in the next release.)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

sf66