This library is a port of Adobe's XMP SDK to .NET.
The API should be familiar to users of Adobe's XMPCore 5.1.2, though it has been modified in places to better suit .NET development.
IXmpMeta xmp;
using (var stream = File.OpenRead("some-file.xmp"))
xmp = XmpMetaFactory.Parse(stream);
foreach (var property in xmp.Properties)
Console.WriteLine($"Path={property.Path} Namespace={property.Namespace} Value={property.Value}");
XmpMetaFactory
has other methods for reading from string
and byte[]
, as well as support for parsing options.
Returned properties provide additional information, but the above example should be enough to get you started.
The easiest way to reference this project is to install the XmpCore
package:
PM> Install-Package XmpCore
The NuGet package has no other dependencies.
If you require strongly named assemblies, use the XmpCore.StrongName
package instead.
The project targets net35
and netstandard1.0
, meaning you can use it pretty much anywhere these days.
Initially ported by Yakov Danila and Nathanael Jones, the project is now maintained by Drew Noakes and contributors on GitHub.
The same BSD license applies to this project as to Adobe's open source XMP SDK, from which it is derived.