IptcRecordSet

IptcRecordSet class

Rappresenta una raccolta di record IPTC.

public sealed class IptcRecordSet : CustomPackage

Costruttori

Nome Descrizione
IptcRecordSet() Inizializza una nuova istanza diIptcRecordSet classe.
IptcRecordSet(IptcDataSet[]) Inizializza una nuova istanza diIptcRecordSet classe.

Proprietà

Nome Descrizione
ApplicationRecord { get; set; } Ottiene o imposta il record dell’applicazione.
Count { get; } Ottiene il numero di proprietà dei metadati.
EnvelopeRecord { get; set; } Ottiene o imposta l’Envelope Record.
Item { get; } Ottiene ilIptcRecord con il numero specificato. (3 indexers)
Keys { get; } Ottiene una raccolta dei nomi delle proprietà dei metadati.
MetadataType { get; } Ottiene il tipo di metadati.
PropertyDescriptors { get; } Ottiene una raccolta di descrittori che contengono informazioni sulle proprietà accessibili tramite il motore di ricerca GroupDocs.Metadata.

Metodi

Nome Descrizione
Add(IptcDataSet) Aggiunge il dataSet specificato al record appropriato. Il dataSet è considerato ripetibile se esiste già un dataSet con il numero specificato.
AddProperties(Func<MetadataProperty, bool>, PropertyValue) Aggiunge proprietà di metadati note che soddisfano il predicato specificato. L’operazione è ricorsiva quindi interessa anche tutti i pacchetti nidificati.
Clear() Rimuove tutti i record dalla raccolta.
Contains(string) Determina se il pacchetto contiene una proprietà di metadati con il nome specificato.
virtual FindProperties(Func<MetadataProperty, bool>) Trova le proprietà dei metadati che soddisfano il predicato specificato. La ricerca è ricorsiva quindi interessa anche tutti i pacchetti nidificati.
GetEnumerator() Restituisce un enumeratore che scorre la raccolta.
Remove(byte) Rimuove il record con il numero di record specificato.
Remove(byte, byte) Rimuove il set di dati con il record e il numero di set di dati specificati.
virtual RemoveProperties(Func<MetadataProperty, bool>) Rimuove le proprietà dei metadati che soddisfano il predicato specificato.
virtual Sanitize() Rimuove le proprietà dei metadati scrivibili dal pacchetto. L’operazione è ricorsiva quindi interessa anche tutti i pacchetti annidati.
Set(IptcDataSet) Aggiunge o aggiorna il dataSet specificato nel record appropriato.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) Imposta le proprietà dei metadati noti che soddisfano il predicato specificato. L’operazione è ricorsiva quindi interessa anche tutti i pacchetti nidificati. Questo metodo è una combinazione diAddProperties EUpdateProperties Se una proprietà esistente soddisfa il predicato, il suo valore viene aggiornato. Se nel pacchetto manca una proprietà nota che soddisfa il predicato, viene aggiunta al pacchetto.
ToDataSetList() Crea un elenco di set di dati dal pacchetto.
ToList() Crea un elenco dal pacchetto.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Aggiorna le proprietà dei metadati noti che soddisfano il predicato specificato. L’operazione è ricorsiva quindi interessa anche tutti i pacchetti nidificati.

Osservazioni

Saperne di più

Esempi

Questo esempio di codice mostra come aggiornare le proprietà dei metadati IPTC di base.

using (Metadata metadata = new Metadata(Constants.InputJpeg))
{
    IIptc root = metadata.GetRootPackage() as IIptc;
    if (root != null)
    {
        // Imposta il pacchetto IPTC se manca
        if (root.IptcPackage == null)
        {
            root.IptcPackage = new IptcRecordSet();
        }

        if (root.IptcPackage.EnvelopeRecord == null)
        {
            root.IptcPackage.EnvelopeRecord = new IptcEnvelopeRecord();
        }

        root.IptcPackage.EnvelopeRecord.DateSent = DateTime.Now;
        root.IptcPackage.EnvelopeRecord.ProductID = Guid.NewGuid().ToString();

        //...

        if (root.IptcPackage.ApplicationRecord == null)
        {
            root.IptcPackage.ApplicationRecord = new IptcApplicationRecord();
        }

        root.IptcPackage.ApplicationRecord.ByLine = "GroupDocs";
        root.IptcPackage.ApplicationRecord.Headline = "test";
        root.IptcPackage.ApplicationRecord.ByLineTitle = "code sample";
        root.IptcPackage.ApplicationRecord.ReleaseDate = DateTime.Today;

        //...

        metadata.Save(Constants.OutputJpeg);
    }
}

Guarda anche