Tagged Digital Images- simple way to get EXIF and IPTC tags?

Inspired bythis thread and what I’ve read on Controlled Vocabulary I’d like to add some Description (caption) and keyword information to some sets of images. I’ve found Microsoft Pro Photo Tools and Irfanview both seem to do this well enough for my purposes and seem to create metadata that is interoperable with other programs I tried. Both programs have the ability to edit metadata for multiple images at a time which is useful for things that don’t change, like copyright, etc.

The question I have is what I can then do with that tag information. These image libraries will be used by a large number of people and I’m reluctant to lock into any one particular gallery program or anything that is too complicated.

Windows Explorer (XP) can access some EXIF tag information, but not the IPTC tags (At least the ones I mentioned). This is fixed using something called PixVue, which has a context menu and shell extension so that the caption can be selected in the detail folder view. PixVue really seems to slow down my machine though.

But what if I want to be able to access the tags and organize the images in a more general use database (Access or MySQL)?

Take a look here. It appesars a couple of the programs listed allow you to export the data to a CSV file, HTML and even text.

That’s a pretty comprehensive link. I was going to suggest jhead (mentioned there), which is a utility used in Gallery among other things, and should take well to scripting, which it sounds like you want to do.

Jhead is almost doing it, only when I run it with the [-c] option it only returns a small amount of data, rather than all data on one line as described in the instructions. I can certainly parse through this output in a later step, but it would be better if the program generated output on one line for each image then I could just dump that to a table in my database.

Looking further, I found a Perl library called ExifTool by Paul Harvey which looks like it is doing the trick. I just have to test it on different input files/directories.