Another Labs release, this time an update to the XMP Toolkit. XMP (Extensible Metadata Platform) is a labeling technology used to embed metadata within media files. The XMP Toolkit allows developers to programmatically access metadata in AVI, EPS, INDD, JPEG, MOV, MP3, MPEG, PNG, PS, PSD, TIFF, and WAV files. The update to XMP Toolkit 4.1 adds Java support (among other things) which means that the toolkit can be used within ColdFusion applications.
Woohoo! Finally I can embark on my graphics asset management system project with CF, Flex and Apollo.
I’d love to see some sample code of how this can be used with CF7. Sounds like there is TONS of potential.
I plan on posting examples as soon as I get a few minutes to create them, stay tuned.
— Ben
Is there a way to access this stuff using Flash, i.e. is there a Flash API for XMP?
how does this relate to the EXIF information in an image file or IDv3 tag info in MP3 files? can you read and write this information or is it a separate set of data?
German, no, there is no ActionScript version that I am aware of. Plus, as Flash has no file I/O APIs there would be little value in doing so. Now for Apollo …
— Ben
Awaiting your examples with baited breath, Ben…
#ERROR!
It’s actually proven to be a little more involved than I had hoped, the Java libraries are not as complete as the C ones. But I’ll figure something out and will post when I do.
— Ben
Great – thanks Ben
"how does this relate to the EXIF information in an image file or IDv3 tag info in MP3 files? can you read and write this information or is it a separate set of data?"
The XMP libraries synch data between ‘legacy’ metadata such as EXIF – so when you call for a metadata update it will write both the XMP and EXIF info.
Gunar
Reading/writing XMP fields to .flv files, using ColdFusion, would be really nice! =)
I am also trying to do something with this java toolkit. The documentation in not easy and I just spend time to find a way to read the XMP from a jpeg. Please Ben send us a simple example. I am actually using Exiftool by Phil Harvey and I would like to try with java classes.
CF8 now has imageGetEXIFTag(). An example is provided here: http://examples.adobe.com/cf8gettingstarted/experience/snippets.cfm. Not sure if you’ve tried that or not; hopefully this can at least be some good fyi for others.
<cfxmp /> for .flv is on my wishlist!
Since several people have asked about XMP, here’s a example of writing XMP into a PDF using CF8’s iText. Having a few issues with reading XMP, but the data definitely gets written into the file. Might be a useful starting point. http://tinyurl.com/3556uz
Ray Camden’s pdfUtils CFC has been updated to include readXMP() and writeXMP() methods. Both use CF8’s iText implementation, so only read/write XMP from PDFs. Hope it’s useful.
http://pdfutils.riaforge.org/
Hi Ben,
Do you know of any examples for manipulating XMP from ColdFusion (or Java)? Since this post in 2007, ColdFusion has of course added all the image functionality including the ImageGetExifMetadata and ImageGetIPTCMetadata functions, however those functions access XMP metadata as read only because the metadata extractor doesn’t provide write capability. I’m seeking examples for how to write IPTC metadata to image files (including JPG, PNG, TIFF, and PSD).
I’ve been trudging through the ActionScript Library for XMP. Its quite dense and doesn’t provide real world practical examples, but has been useful towards learning how to manipulate XMP from the client side.
Thanks!
Hi Ben,
Do you know of any examples for manipulating XMP from ColdFusion (or Java)? Since this post in 2007, ColdFusion has of course added all the image functionality including the ImageGetExifMetadata and ImageGetIPTCMetadata functions, however those functions access XMP metadata as read only because the metadata extractor doesn’t provide write capability. I’m seeking examples for how to write IPTC metadata to image files (including JPG, PNG, TIFF, and PSD).
I’ve been trudging through the ActionScript Library for XMP. Its quite dense and doesn’t provide real world practical examples, but has been useful towards learning how to manipulate XMP from the client side.
Thanks!
Hi Steven,
Re: XMP writing: I guess you’ve seen Apache Sanselan? http://incubator.apache.org/sanselan/site/formatsupport.html
Seems to provide extensive XMP coverage. Unfortunately IPTC write is flagged as ‘soon’. If XMP will work for you then it should be fairly simple to swap out the iText implementation in pdfUtils for the Sanselan XMP toolset instead.