
De metagegevens van het Extensible Metadata Platform (XMP) zijn gecodeerd als tekst in XML-indeling. Het gedefinieerde XMP-gegevensmodel kan worden gebruikt om elke set metagegevenseigenschappen op te slaan in de vorm van een naam/waarde-paar. U kunt programmatisch een aangepast XMP-metadatapakket aan uw afbeeldingen toevoegen. In dit artikel leert u hoe u aangepaste XMP-metagegevens kunt toevoegen aan of verwijderen uit GIF met behulp van C#. In dit artikel worden de volgende onderwerpen besproken/behandeld:
- [C# API voor het toevoegen of verwijderen van XMP-metadata][2]
- [Voeg aangepast XMP-metadatapakket toe aan GIF met C#][3]
- [Lees eigenschappen van aangepast XMP-metadatapakket met C#][4]
- [Verwijder aangepast XMP-metadatapakket met C#][5]
C# API voor het toevoegen of verwijderen van XMP-metadata
Ik zal [GroupDocs.Metadata for .NET][6] API gebruiken voor het toevoegen of verwijderen van een aangepast XMP-metadatapakket. Hiermee kunt u metadata-eigenschappen toevoegen, bewerken, ophalen en verwijderen uit documenten en afbeeldingsbestandsindelingen. De API werkt met de meest opvallende metadatastandaarden zoals ingebouwde, XMP, EXIF, IPTC, Image Resource Blocks, ID3 en aangepaste metadata-eigenschappen. Het kan worden gebruikt om applicaties te ontwikkelen in elke ontwikkelomgeving die gericht is op het .NET-platform. U kunt de DLL van de API [downloaden][7] of installeren met behulp van de [NuGet][8].
Install-Package GroupDocs.Metadata
Voeg aangepast XMP-metadatapakket toe aan GIF met C#
U kunt eenvoudig een volledig aangepast XMP-pakket met door de gebruiker gedefinieerde eigenschappen maken en toevoegen door de onderstaande eenvoudige stappen te volgen:
- Maak een instantie van de klasse [Metadata][9]
- Geef het pad van de GIF-afbeelding op
- [GetRootPackage][10] als [IXmp][11] standaard
- Maak een instantie van de klasse [XmpPackage][12].
- Zorg voor pakketvoorvoegsel en NamespaceUri
- Stel eigenschappen in naam/waarde-paar in met behulp van de [Set][13]-methode
- Maak een instantie van de klasse [XmpPacketWrapper][14].
- Roep de methode [AddPackage][15] aan en geef aangemaakte XmpPackage door
- Wijs gemaakte XmpPacketWrapper toe aan IXMp.[XmpPackage][16]
- Sla het uitvoerbestand op met behulp van de methode [Metadata.Save][17].
Het volgende codevoorbeeld laat zien hoe u met C# een aangepast XMP-metagegevenspakket kunt maken en toevoegen aan een GIF-afbeelding.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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"); } XMP-metadatapakket aan GIF toevoegen met C#
De [IXMP][11]-interface stelt de eigenschap XmpPackage{.broken_link} bloot om het XMP-metadatapakket op te halen of in te stellen. De klasse Metadata biedt de methode [GetRootPackage][10] om het rootpakket op te halen dat toegang biedt tot alle metadata-eigenschappen die uit het bestand zijn geëxtraheerd. De klasse [XmpPackage][12] biedt verschillende eigenschappen om het pakket te definiëren, zoals [Prefix][20], [NamespaceUri][21] en [Keys][22]. Deze klasse biedt ook [Set][13]-methoden om naam/waarde in te stellen voor door de gebruiker gedefinieerde metadata-eigenschappen. De klasse [XmpPacketWrapper][14] bevat een geserialiseerd XMP-pakket. Met de methode [AddPackage][15] van deze klasse kan het gedefinieerde aangepaste pakket worden toegevoegd. Meer details over “[Werken met XMP-metagegevens][23]” vindt u in de documentatie.
Eigenschappen van metagegevens van aangepast XMP-pakket lezen met C#
U kunt eenvoudig alle door de gebruiker gedefinieerde eigenschappen van het aangepaste XMP-pakket lezen door de onderstaande eenvoudige stappen te volgen:
- Maak een instantie van de klasse [Metadata][9]
- Geef het pad van de GIF-afbeelding op
- [GetRootPackage][10] als [IXmp][11] standaard
- Haal alle pakketten één voor één op uit [IXmp.XmpPackage.Packages][24]
- Krijg NamespaceUri en Prefix voor elk pakket
- Bel [FindProperties][25] voor elke pakketsleutel om de naam en waarde van de eigenschap te krijgen
Het volgende codevoorbeeld laat zien hoe u alle eigenschappen leest die zijn gedefinieerd in het aangepaste XMP-pakket met behulp van C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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); } } } }
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>
De methode [FindProperties][25] van de klasse [XmpPackage][12] zoekt recursief en vindt de metadata-eigenschappen die voldoen aan het opgegeven predikaat.
Verwijder aangepast XMP-pakket met C#
U kunt het XMP-pakket van GIF-afbeeldingen verwijderen door de onderstaande eenvoudige stappen te volgen:
- Maak een instantie van de klasse [Metadata][9]
- Geef het pad van de GIF-afbeelding op
- [GetRootPackage][10] als [IXmp][11] standaard
- Stel IXMp.[XmpPackage][16] in op null
- Sla het uitvoerbestand op met behulp van de methode [Metadata.Save][17].
Het volgende codevoorbeeld laat zien hoe u het XMP-metagegevenspakket uit de GIF-afbeelding kunt verwijderen met behulp van C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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"); } XMP Metadata-pakket verwijderen uit GIF met C#
Ontvang een gratis licentie
U kunt de API uitproberen zonder evaluatiebeperkingen door [een gratis tijdelijke licentie][27] aan te vragen.
Conclusie
In dit artikel heeft u geleerd hoe u aangepaste XMP-pakketmetagegevens toevoegt aan of verwijdert uit GIF-afbeeldingen met behulp van C#**. U hebt ook geleerd hoe u XMP-pakketeigenschappen kunt lezen met behulp van C#. Bovendien kunt u meer te weten komen over GroupDocs.Metadata voor .NET API met behulp van de [documentatie][28]. Neem bij onduidelijkheden gerust contact met ons op via het [forum][29].
Zie ook
- [Metadata van afbeeldingen extraheren en manipuleren met C#][30]
- [Beheer EXIF-gegevens van JPEG-, PNG-, TIFF- en WebP-afbeeldingen in C#][31] [1]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/05/GIF-SMP.png [2]: #api-for-XMP-metadata [3]: #Add-Custom-XMP-Package [4]: #Read-Custom-XMP-Package [5]: #Remove-Custom-XMP-Package [6]: https://products.groupdocs.com/metadata/net [7]: https://releases.groupdocs.com/metadata/net/ [8]: https://www.nuget.org/packages/GroupDocs.Metadata [9]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata/metadata [10]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata/metadata/methods/getrootpackage [11]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/ixmp [12]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/xmppackage [13]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp.xmppackage/set/methods/7 [14]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/xmppacketwrapper [15]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/xmppacketwrapper/methods/addpackage [16]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/ixmp/properties/xmppackage [17]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.metadata/save/methods/2 [18]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/05/Add_XMP_Metadata_csharp.jpg [19]: http://XmpPackage [20]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/xmppackage/properties/prefix [21]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/xmppackage/properties/namespaceuri [22]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.common/metadatapackage/properties/keys [23]: https://docs.groupdocs.com/metadata/net/working-with-xmp-metadata/ [24]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.standards.xmp/xmppacketwrapper/properties/packages [25]: https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.common/metadatapackage/methods/findproperties [26]: https://blog.conholdate.com/wp-content/uploads/sites/27/2021/05/Remove_XMP_Metadata_csharp.jpg [27]: https://purchase.groupdocs.com/temporary-license [28]: https://docs.groupdocs.com/metadata/net/ [29]: https://forum.groupdocs.com/c/metadata/14 [30]: https://blog.groupdocs.cloud/2021/04/20/extract-and-manipulate-metadata-of-images-using-csharp/ [31]: https://blog.groupdocs.com/2020/05/13/manage-exif-data-in-csharp-net-for-jpeg-png-tiff-webp-images/