set XMP metadata tags

I have being trying set XMP metadata tags in jpg images.
Particularly “xapRights:WebStatement” tag.

Which is the owner url if you check file properties through Adobe Photoshop.

I am looking for a solution in C# .NET

Can anyone help me on this?

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Try to use this library as a start point since it does what you want to do in another APP marker.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jpw1Author Commented:
I have already tried that.
It only works with IPTC metadata fields.

What I want to do is set XMP metadata. They are not part of IPTC or EXIF.
XMP is the new XML-based "Extensible Metadata Platform" developed by Adobe.

You may then use the Adobe's very own XMP SDK.

BTW, the link i sent before contains the code that manipulates the APP13 marker in the JPEG file where IPTC data is,
XMP data in jpeg files is stored in APP1 marker. All you have to do is to manipulate the APP1 marker, and the sample did.
jpw1Author Commented:

XMP SDK was written using c++.
I had a hard time making sense of that.

I am not an expert on image formats, can you explain how to manipulate the APP1 marker.
this is where link where i first ginve comes in to play.

if you look at the sources you will find all of the methods to load and save APP13 marker is encapsulated in IPTCData.cs. in the file, code simply loads jpeg file, scans for APP13 marker and parses it. When need to save, takes a source file, removes APP13 marker, builds its own APP13 data and stores it in the file as a byte array.

It is same until decoding and encoding.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.