Unable to view PSD layer info

Started by banisco, April 27, 2018, 05:15:27 PM

Previous topic - Next topic

banisco

I have a small subset of PhotoShop PSD files where EXIFTool is unable to extract layer information:

exiftool -layercount -layernames -layerrectangles "pizza all night.psd"
Layer Count                     : 0


ImageMagick is able to view them ok:

identify "pizza all night.psd"
pizza all night.psd[0] PSD 4500x6000 4500x6000+0+0 16-bit sRGB 155.591MiB 0.125u 0:00.061
pizza all night.psd[1] PSD 4500x6000 4500x6000+0+0 16-bit sRGB 155.591MiB 0.000u 0:00.000
pizza all night.psd[2] PSD 3051x3586 3051x3586+696+1296 16-bit sRGB 155.591MiB 0.016u 0:00.016
pizza all night.psd[3] PSD 3901x4584 3901x4584+300+75 16-bit sRGB 155.591MiB 0.031u 0:00.032


I'm using EXIFTool 10.94 on Windows 10 64-bit
Edit: The PSD file was re-saved using Photoshop CC 19.1.3 64-bit for Windows.  I had the 'Maintain Maximum Compatibility' flag mode set under File Handling preferences.

I've attached the Photoshop file 7-zipped, as it is rather large even with PSD compression enabled (~150MB).  Note that I did see post https://exiftool.org/forum/index.php/topic,8140.msg41677.html#msg41677, but the response implies version 10.47 onward should handle large layers?

Thanks!


Phil Harvey

Thanks for this report.

I'll take a look at this next week when I return from vacation.

- 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 ($).

Phil Harvey

This was tricky.  The layer information in this file is stored in an undocumented format.  The Adobe documentation mentions this type of record, but doesn't document what it contains.  However, thanks to your sample I've figured out enough to be able to decode this.  ExifTool 10.95 (to be released within a week or so) will extract this information.

Thanks again for this report.

- 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 ($).

banisco

Thanks Phil! I'm glad the sample proved useful.