I have a wrapper for exiftool for .Net. I wrote it in vb.net and have been using it for sometime now and it works very well for me. I recently noticed some posts related to using exiftool with .Net so I decided to make a small demo program to show how to use the wrapper (ExifToolIO.dll). (the program I'm using ExifToolIO in is too big to post here)
I believe the code runs nearly as fast as possible, I have tried to optimize it for speed. Some of the features are:
A of version exiftool.exe is included in the ExifToolIO.dll so no separate exiftool.exe is needed. Optionally a separate exiftool.exe file can be used.
I/O to the exiftool process is by default via stdinp and stdout so no disk file I/O is involved, making it very fast. Optionally a text file may be used and then viewed later to see what commands were actually sent to exiftool.
Very simple to use, simply call Initiailize, send commands using Cmd method then call Execute which returns the results of exiftool.
Sample vb.net code:
ExifToolIO.Initiailize()
ExifToolIO.Cmd("-IFD0:Artist")
Dim result as String = ExifToolIO.Execute("C:\pic.jpg")
Once ExifToolIO.Initiailize() is called as many ExifToolIO.Cmd and ExifToolIO.Execute calls can be made as needed. Then before exiting the program call
ExifToolIO.Close. The demo program shows several ways to get tag values including using the
-X XML exiftool output format.
I have attached the VS 2012 VB.Net Solution that has all the source code to ExifToolIODemo and ExitToolIO. Also attached to this post are the executable files (.exe and .dll) Also see the attached screen shot of the demo program. (I have also put it up on CodeProject and the source can be looked at and downloaded from there
https://workspaces.codeproject.com/curtis1757/exiftool_wrapper/code, someday I may write a CodeProject article for this)
Possible issues: I've only run this on my Window 7 machine, Framework 4.0 is required.
I welcome any questions, comments, bug reports or suggestions..... please post them here.... (or my email address is in the source code)
Thanks!
Curtis
Update: Added JSON format output example in demo program.