XmpPacketWrapper

XmpPacketWrapper class

Περιέχει σειριακό πακέτο XMP, συμπεριλαμβανομένης της κεφαλίδας και του τρέιλερ. Ένα περιτύλιγμα που αποτελείται από ένα ζεύγος οδηγιών επεξεργασίας XML (PI) μπορεί να τοποθετηθεί γύρω από το στοιχείο rdf:RDF.

public class XmpPacketWrapper : MetadataPackage, IXmpType

Κατασκευαστές

Ονομα Περιγραφή
XmpPacketWrapper() Αρχικοποιεί μια νέα παρουσία τουXmpPacketWrapper τάξη.
XmpPacketWrapper(XmpHeaderPI, XmpTrailerPI, XmpMeta) Αρχικοποιεί μια νέα παρουσία τουXmpPacketWrapper τάξη.

Ιδιότητες

Ονομα Περιγραφή
Count { get; } Λαμβάνει τον αριθμό των ιδιοτήτων μεταδεδομένων.
HeaderPI { get; set; } Λαμβάνει ή ορίζει την εντολή επεξεργασίας κεφαλίδας.
Item { get; } Λαμβάνει τοMetadataProperty με το καθορισμένο όνομα.
Keys { get; } Λαμβάνει μια συλλογή από ονόματα ιδιοτήτων μεταδεδομένων.
Meta { get; set; } Λαμβάνει ή ορίζει το XMP meta.
MetadataType { get; } Λαμβάνει τον τύπο μεταδεδομένων.
PackageCount { get; } Λαμβάνει τον αριθμό των πακέτων μέσα στη δομή XMP.
Packages { get; } Λαμβάνει πίνακαXmpPackage μέσα στο XMP.
PropertyDescriptors { get; } Λαμβάνει μια συλλογή περιγραφών που περιέχουν πληροφορίες σχετικά με ιδιότητες προσβάσιμες μέσω της μηχανής αναζήτησης GroupDocs.Metadata.
Schemes { get; } Παρέχει πρόσβαση σε γνωστά σχήματα XMP.
TrailerPI { get; set; } Λαμβάνει ή ορίζει την οδηγία επεξεργασίας του τρέιλερ.

Μέθοδοι

Ονομα Περιγραφή
AddPackage(XmpPackage) Προσθέτει το πακέτο.
AddProperties(Func<MetadataProperty, bool>, PropertyValue) Προσθέτει γνωστές ιδιότητες μεταδεδομένων που ικανοποιούν το καθορισμένο κατηγόρημα. Η λειτουργία είναι αναδρομική, επομένως επηρεάζει επίσης όλα τα ένθετα πακέτα.
ClearPackages() Καταργεί όλαXmpPackage μέσα στο XMP.
Contains(string) Καθορίζει εάν το πακέτο περιέχει μια ιδιότητα μεταδεδομένων με το καθορισμένο όνομα.
ContainsPackage(string) Καθορίζει εάν το πακέτο υπάρχει σε περιτύλιγμα XMP.
virtual FindProperties(Func<MetadataProperty, bool>) Βρίσκει τις ιδιότητες μεταδεδομένων που ικανοποιούν το καθορισμένο κατηγόρημα. Η αναζήτηση είναι αναδρομική, επομένως επηρεάζει όλα τα ένθετα πακέτα επίσης.
GetEnumerator() Επιστρέφει έναν απαριθμητή που επαναλαμβάνει τη συλλογή.
GetPackage(string) Λαμβάνει πακέτο ανά χώρο ονομάτων uri.
GetXmpRepresentation() Επιστρέφει την τιμή που περιέχεται στη συμβολοσειρά σε μορφή XMP.
RemovePackage(XmpPackage) Αφαιρεί το καθορισμένο πακέτο.
virtual RemoveProperties(Func<MetadataProperty, bool>) Καταργεί τις ιδιότητες μεταδεδομένων που ικανοποιούν το καθορισμένο κατηγόρημα.
virtual Sanitize() Αφαιρεί τις ιδιότητες μεταδεδομένων με δυνατότητα εγγραφής από το πακέτο. Η λειτουργία είναι αναδρομική, επομένως επηρεάζει επίσης όλα τα ένθετα πακέτα.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) Ορίζει γνωστές ιδιότητες μεταδεδομένων που ικανοποιούν το καθορισμένο κατηγόρημα. Η λειτουργία είναι αναδρομική, επομένως επηρεάζει επίσης όλα τα ένθετα πακέτα. Αυτή η μέθοδος είναι ένας συνδυασμόςAddProperties καιUpdateProperties Εάν μια υπάρχουσα ιδιότητα ικανοποιεί το κατηγόρημα, η τιμή της ενημερώνεται. Εάν λείπει μια γνωστή ιδιότητα στο πακέτο που ικανοποιεί το κατηγόρημα, προστίθεται στο πακέτο.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Ενημερώνει γνωστές ιδιότητες μεταδεδομένων που ικανοποιούν το καθορισμένο κατηγόρημα. Η λειτουργία είναι αναδρομική, επομένως επηρεάζει επίσης όλα τα ένθετα πακέτα.

Παρατηρήσεις

Μάθε περισσότερα

Παραδείγματα

Αυτό το παράδειγμα δείχνει πώς να ενημερώσετε τις ιδιότητες μεταδεδομένων XMP.

using (Metadata metadata = new Metadata(Constants.GifWithXmp))
{
    IXmp root = metadata.GetRootPackage() as IXmp;
    if (root != null && root.XmpPackage != null)
    {
        // εάν δεν υπάρχει τέτοιο σχήμα στο πακέτο XMP θα πρέπει να το δημιουργήσουμε
        if (root.XmpPackage.Schemes.DublinCore == null)
        {
            root.XmpPackage.Schemes.DublinCore = new XmpDublinCorePackage();
        }
        root.XmpPackage.Schemes.DublinCore.Format = "image/gif";
        root.XmpPackage.Schemes.DublinCore.SetRights("Copyright (C) 2011-2022 GroupDocs. All Rights Reserved");
        root.XmpPackage.Schemes.DublinCore.SetSubject("test");

        if (root.XmpPackage.Schemes.CameraRaw == null)
        {
            root.XmpPackage.Schemes.CameraRaw = new XmpCameraRawPackage();
        }
        root.XmpPackage.Schemes.CameraRaw.Shadows = 50;
        root.XmpPackage.Schemes.CameraRaw.AutoBrightness = true;
        root.XmpPackage.Schemes.CameraRaw.AutoExposure = true;
        root.XmpPackage.Schemes.CameraRaw.CameraProfile = "test";
        root.XmpPackage.Schemes.CameraRaw.Exposure = 0.0001;

        // Εάν δεν θέλετε να διατηρήσετε τις παλιές τιμές, απλώς αντικαταστήστε ολόκληρο το σχήμα
        root.XmpPackage.Schemes.XmpBasic = new XmpBasicPackage();
        root.XmpPackage.Schemes.XmpBasic.CreateDate = DateTime.Today;
        root.XmpPackage.Schemes.XmpBasic.BaseUrl = "https://groupdocs.com";
        root.XmpPackage.Schemes.XmpBasic.Rating = 5;

        root.XmpPackage.Schemes.BasicJobTicket = new XmpBasicJobTicketPackage();

        // Ορίστε μια ιδιότητα σύνθετου τύπου
        root.XmpPackage.Schemes.BasicJobTicket.Jobs = new[]
        {
            new XmpJob
            {
                ID = "1",
                Name = "test job",
                Url = "https://groupdocs.com"
            },
        };

        //... 

        metadata.Save(Constants.OutputGif);
    }
}

Δείτε επίσης