drewnoakes / xmp-core-dotnet

.NET library for working with the Extensible Metadata Platform (XMP)
60 stars 22 forks source link
dotnet dotnet-core imaging metadata xmp



Build status XmpCore NuGet version XmpCore NuGet download count

This library is a port of Adobe's XMP SDK to .NET.

The API should be familiar to users of Adobe's XMPCore 6.1.10, though it has been modified in places to better suit .NET development.

Sample Usage

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.

Installation

The easiest way to reference this project is to install the XmpCore package:

PM> Install-Package XmpCore

The NuGet package has no other dependencies.

As of version 6.1.10.1 the package is now strong named. Before then, a separate XmpCore.StrongName package exists.

Framework support

The project targets net35 and netstandard1.0, meaning you can use it pretty much anywhere these days.

History

Initially ported by Yakov Danila and Nathanael Jones, the project is now maintained by Drew Noakes and contributors on GitHub.

License

The same BSD license applies to this project as to Adobe's open source XMP SDK, from which it is derived.