
Metadane platformy Extensible Metadata Platform (XMP) są kodowane jako tekst w formacie XML. Zdefiniowany model danych XMP może służyć do przechowywania dowolnego zestawu właściwości metadanych w postaci pary nazwa/wartość. Możesz programowo dodać niestandardowy pakiet metadanych XMP do swoich obrazów. W tym artykule dowiesz się, jak dodawać lub usuwać niestandardowe metadane XMP z GIF przy użyciu C#.
W tym artykule omówiono/omówiono następujące tematy:
- API C# do dodawania lub usuwania metadanych XMP
- Dodaj niestandardowy pakiet metadanych XMP do GIF przy użyciu C#
- Odczytywanie właściwości niestandardowego pakietu metadanych XMP przy użyciu języka C#
- Usuń niestandardowy pakiet metadanych XMP przy użyciu języka C#
API C# do dodawania lub usuwania metadanych XMP
Będę używać interfejsu API GroupDocs.Metadata for .NET do dodawania lub usuwania niestandardowego pakietu metadanych XMP. Umożliwia dodawanie, edytowanie, pobieranie i usuwanie właściwości metadanych z dokumentów i formatów plików graficznych. Interfejs API współpracuje z najbardziej znanymi standardami metadanych, takimi jak wbudowane, XMP, EXIF, IPTC, bloki zasobów obrazu, ID3 i niestandardowe właściwości metadanych. Można go używać do tworzenia aplikacji w dowolnym środowisku programistycznym przeznaczonym dla platformy .NET.
Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.
Install-Package GroupDocs.Metadata
Dodaj niestandardowy pakiet metadanych XMP do GIF przy użyciu C#
Możesz łatwo utworzyć i dodać w pełni niestandardowy pakiet XMP zawierający właściwości zdefiniowane przez użytkownika, wykonując proste kroki wymienione poniżej:
- Utwórz instancję klasy Metadane.
- Podaj ścieżkę obrazu GIF
- Pobierz pakiet root as IXmp standard
- Utwórz instancję klasy XmpPackage.
- Podaj prefiks pakietu i NamespaceUri
- Ustaw właściwości w parze Nazwa/Wartość za pomocą metody Set.
- Utwórz instancję klasy XmpPacketWrapper.
- Wywołaj metodę AddPackage i przekaż utworzony XmpPackage
- Przypisz utworzony XmpPacketWrapper do IXMp.XmpPackage
- Zapisz plik wyjściowy za pomocą metody Metadata.Save.
Poniższy przykładowy kod pokazuje, jak utworzyć i dodać niestandardowy pakiet metadanych XMP do obrazu GIF przy użyciu języka C#.
using (Metadata metadata = new Metadata(@"C:\Files\xmp.gif")) {
IXmp root = (IXmp)metadata.GetRootPackage();
XmpPacketWrapper packet = new XmpPacketWrapper();
XmpPackage custom = new XmpPackage("gd", "https://groupdocs.com");
custom.Set("gd:Copyright", "Copyright (C) 2021 GroupDocs. All Rights Reserved.");
custom.Set("gd:CreationDate", DateTime.Now.ToString());
custom.Set("gd:Company", XmpArray.From(new String[] { "Aspose", "GroupDocs" }, XmpArrayType.Ordered));
packet.AddPackage(custom);
root.XmpPackage = packet;
metadata.Save(@"C:\Files\xmp_output.gif");
}
Powyższy przykładowy kod powinien dodać pakiet metadanych XMP do obrazu wejściowego. ExifTool odczytuje następujące metadane z wygenerowanego wyjściowego obrazu GIF.

Dodaj pakiet metadanych XMP do GIF przy użyciu C#
Interfejs IXMP udostępnia właściwość XmpPackage{.brokenlink} umożliwiającą pobieranie lub ustawianie pakietu metadanych XMP.
Klasa Metadata udostępnia metodę GetRootPackage umożliwiającą pobranie pakietu głównego zapewniającego dostęp do wszystkich właściwości metadanych wyodrębnionych z pliku.
Klasa XmpPackage udostępnia różne właściwości umożliwiające zdefiniowanie pakietu, takie jak Prefix, NamespaceUri i Keys. Klasa ta udostępnia także metody Set służące do ustawiania nazwy/wartości dla właściwości metadanych zdefiniowanych przez użytkownika.
Klasa XmpPacketWrapper zawiera serializowany pakiet XMP. Metoda AddPackage tej klasy pozwala na dodanie zdefiniowanego pakietu niestandardowego.
Więcej szczegółów na temat „[Praca z metadanymi XMP]" 23 można znaleźć w dokumentacji.
Odczytywanie właściwości metadanych niestandardowego pakietu XMP przy użyciu języka C#
Możesz łatwo odczytać wszystkie właściwości zdefiniowane przez użytkownika niestandardowego pakietu XMP, wykonując proste kroki wymienione poniżej:
- Utwórz instancję klasy Metadane.
- Podaj ścieżkę obrazu GIF
- Pobierz pakiet root as IXmp standard
- Pobierz wszystkie pakiety jeden po drugim z IXmp.XmpPackage.Packages
- Pobierz NamespaceUri i Prefix dla każdego pakietu
- Wywołaj FindProperties dla każdego klucza pakietu, aby uzyskać nazwę i wartość właściwości
Poniższy przykładowy kod pokazuje, jak odczytać wszystkie właściwości zdefiniowane w niestandardowym pakiecie XMP przy użyciu języka C#.
string file = @"C:\Files\xmp_output.gif";
using (Metadata metadata = new Metadata(file))
{
IXmp root = (IXmp)metadata.GetRootPackage();
if (root.XmpPackage != null)
{
foreach (var package in root.XmpPackage.Packages)
{
Console.WriteLine(package.NamespaceUri);
Console.WriteLine(package.Prefix);
foreach(var keys in package.Keys)
{
var property = package.FindProperties(p => p.Name == keys).FirstOrDefault();
Console.WriteLine(property.Name + " : " + property.Value);
}
}
}
}
Powyższy przykładowy kod powinien dać następujący wynik:
https://groupdocs.com
gd
gd:Copyright: Copyright (C) 2021 GroupDocs. All Rights Reserved.
gd:CreationDate: 04/05/2021 2:26:17 am
gd:Company: <rdf:Seq><rdf:li>Aspose</rdf:li><rdf:li>GroupDocs</rdf:li></rdf:Seq>
Metoda FindProperties klasy XmpPackage rekurencyjnie wyszukuje i znajduje właściwości metadanych spełniające określony predykat.
Usuń niestandardowy pakiet XMP za pomocą C#
Możesz usunąć pakiet XMP z obrazów GIF, wykonując proste kroki wymienione poniżej:
- Utwórz instancję klasy Metadane.
- Podaj ścieżkę obrazu GIF
- Pobierz pakiet root as IXmp standard
- Ustaw IXMp.XmpPackage na wartość null
- Zapisz plik wyjściowy za pomocą metody Metadata.Save.
Poniższy przykładowy kod pokazuje, jak usunąć pakiet metadanych XMP z obrazu GIF przy użyciu języka C#.
using (Metadata metadata = new Metadata(@"C:\Files\xmp_output.gif"))
{
IXmp root = (IXmp)metadata.GetRootPackage();
root.XmpPackage = null;
metadata.Save(@"C:\Files\xmp_output_Removed.gif");
}
Powyższy przykładowy kod usunie pakiet metadanych XMP z obrazu wejściowego. ExifTool odczytuje następujące metadane z wygenerowanego wyjściowego obrazu GIF.

Usuń pakiet metadanych XMP z GIF przy użyciu C#
Zdobądź bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule dowiedziałeś się, jak dodawać lub usuwać niestandardowe metadane pakietu XMP z obrazów GIF przy użyciu języka C#. Nauczyłeś się także, jak czytać właściwości pakietu XMP przy użyciu języka C#. Ponadto możesz zapoznać się z GroupDocs.Metadata for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.