Lavorare con i metadati XMP EPS

Aggiungi, modifica e ottieni metadati di file EPS con l’API C#

 

I metadati XMP sono un insieme di proprietà che caratterizzano il file e sono rappresentati in formato XML. Contengono informazioni sul file che ne descrivono il contenuto e identificazioni che consentono di distinguere questo file da altri file. Memorizzano inoltre dati sulla creazione e modifica, sugli utenti che hanno in qualche modo partecipato alla creazione, modifica e caricamento del file e la cronologia della trasformazione del file.

La soluzione API Aspose.Page, tra le altre diverse funzionalità, consente di lavorare con i metadati XMP dei file EPS. Qui troverai informazioni che spiegano come aggiungerli, modificarli e ottenerli. Scopri altri esempi su come lavorare con i metadati XMP . Prova anche la nostra app web XMP Metadata Editor , per vedere come può essere utilizzata la funzionalità.

Passaggi per aggiungere metadati XMP a un file EPS in C#

  1. Imposta il percorso della directory dei documenti.
  2. Inizializza uno stream di input per il file EPS.
  3. Crea un file PS da uno stream utilizzando la Classe PsDocument .
  4. Per ottenere i metadati XMP, utilizza il metodo GetXmpMetadata() .
  5. Salva il documento EPS modificato utilizzando il metodo Save() .

Codice C# per aggiungere metadati XMP

    using Aspose.Page.EPS;
    using Aspose.Page.EPS.Device;
    using Aspose.Page.EPS.XMP;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithXMPMetadataInEPS();
    // Initialize an EPS file input stream
    System.IO.FileStream psStream = new System.IO.FileStream(dataDir + "add_input.eps", System.IO.FileMode.Open, System.IO.FileAccess.Read);
    // Create the PsDocument instance from the stream
    PsDocument document = new PsDocument(psStream);            

    try
    {
        // Get XMP metadata. If the EPS file doesn't contain XMP metadata we get new one filled with values from PS metadata comments (%%Creator, %%CreateDate, %%Title etc)
        XmpMetadata xmp = document.GetXmpMetadata();

        // Check metadata values extracted from PS metadata comments and set up in new XMP metadata

        // Get the "CreatorTool" value
        if (xmp.Contains("xmp:CreatorTool"))
        Console.WriteLine("CreatorTool: " + xmp["xmp:CreatorTool"].ToStringValue());

        // Get the "CreateDate" value
        if (xmp.Contains("xmp:CreateDate"))
            Console.WriteLine("CreateDate: " + xmp["xmp:CreateDate"].ToStringValue());

        // Get the "format" value
        if (xmp.Contains("dc:format"))
            Console.WriteLine("Format: " + xmp["dc:format"].ToStringValue());

        // Get the "title" value
        if (xmp.Contains("dc:title"))
            Console.WriteLine("Title: " + xmp["dc:title"].ToArray()[0].ToStringValue());

        // Get the "creator" value
        if (xmp.Contains("dc:creator"))
            Console.WriteLine("Creator: " + xmp["dc:creator"].ToArray()[0].ToStringValue());

        // Get the "MetadataDate" value
        if (xmp.Contains("xmp:MetadataDate"))
            Console.WriteLine("MetadataDate: " + xmp["xmp:MetadataDate"].ToStringValue());

        // Save the EPS file with new XMP metadata

        // Create the ouput stream
        using (System.IO.FileStream outPsStream = new System.IO.FileStream(dataDir + "add_output.eps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
        {
            // Save the EPS file
            document.Save(outPsStream);
        }

    }
    finally
    {
        psStream.Close();
    }

Passaggi per modificare i metadati XMP in un file EPS in C#

  1. Imposta il percorso della directory dei documenti.
  2. Inizializza uno stream di input per il file EPS.
  3. Crea un file PS da uno stream utilizzando la Classe PsDocument.
  4. Per ottenere i metadati XMP, utilizza il metodo GetXmpMetadata().
  5. Per modificare i valori dei metadati XMP, utilizza il metodo SetArrayItem() .
  6. Salva il file EPS modificato.

Codice C# per modificare i metadati XMP

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithXMPMetadataInEPS();
    // Initialize an EPS file input stream
    System.IO.FileStream psStream = new System.IO.FileStream(dataDir + "add_simple_props_input.eps", System.IO.FileMode.Open, System.IO.FileAccess.Read);
    // Create a PsDocument instance from the stream
    PsDocument document = new PsDocument(psStream);            

    try
    {
        // Get XMP metadata. If the EPS file doesn't contain XMP metadata we get new one filled with values from PS metadata comments (%%Creator, %%CreateDate, %%Title etc)
        XmpMetadata xmp = document.GetXmpMetadata();

        //Change the XMP metadata values

        // Change the title item at index 0
        xmp.SetArrayItem("dc:title", 0, new XmpValue("NewTitle"));

        // Change the creator item at index 0
        xmp.SetArrayItem("dc:creator", 0, new XmpValue("NewCreator"));

        // Save the EPS file with the changed XMP metadata

        // Create an ouput stream
        using (System.IO.FileStream outPsStream = new System.IO.FileStream(dataDir + "change_array_items_output.eps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
        {
            // Save the EPS file
            document.Save(outPsStream);
        }

    }
    finally
    {
        psStream.Close();
    }

Passaggi per ottenere i metadati XMP di un file EPS in C#

  1. Imposta il percorso della directory dei documenti.
  2. Inizializza uno stream di input per il file EPS.
  3. Crea un file PS da uno stream utilizzando la Classe PsDocument.
  4. Ottieni i metadati XMP utilizzando il metodo GetXmpMetadata().

Codice C# per ottenere i metadati XMP

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithXMPMetadataInEPS();
    // Initialize an EPS file input stream
    System.IO.FileStream psStream = new System.IO.FileStream(dataDir + "get_input.eps", System.IO.FileMode.Open, System.IO.FileAccess.Read);
    // Create a PsDocument instance from the stream
    PsDocument document = new PsDocument(psStream);            

    try
    {
        // Get XMP metadata. If the EPS file doesn't contain XMP metadata we get new one filled with values from PS metadata comments (%%Creator, %%CreateDate, %%Title etc)
        XmpMetadata xmp = document.GetXmpMetadata();

        // Get the "CreatorTool" value
        if (xmp.Contains("xmp:CreatorTool"))
            Console.WriteLine("CreatorTool: " + xmp["xmp:CreatorTool"].ToStringValue());
                
        // Get the "CreateDate" value
        if (xmp.Contains("xmp:CreateDate"))
            Console.WriteLine("CreateDate: " + xmp["xmp:CreateDate"].ToStringValue());

        // Get a width of a thumbnail image if exists
        if (xmp.Contains("xmp:Thumbnails") && xmp["xmp:Thumbnails"].IsArray)
        {
            XmpValue val = xmp["xmp:Thumbnails"].ToArray()[0];
            if (val.IsNamedValues && val.ToDictionary().ContainsKey("xmpGImg:width"))
                Console.WriteLine("Thumbnail Width: " + val.ToDictionary()["xmpGImg:width"].ToInteger());
        }

        // Get the "Format" value
        if (xmp.Contains("dc:format"))
            Console.WriteLine("Format: " + xmp["dc:format"].ToStringValue());

        // Get the "DocumentID" value
        if (xmp.Contains("xmpMM:DocumentID"))
            Console.WriteLine("DocumentID: " + xmp["xmpMM:DocumentID"].ToStringValue());

    }
    finally
    {
        psStream.Close();
    }



FAQ

1. Cosa sono i metadati XMP?

XMP è l’abbreviazione di Extensible Metadata Platform, uno standard per incorporare proprietà di metadati nei file multimediali.

2. Quali informazioni sono incluse in XMP?

Sono disponibili informazioni sull’autore, l’editore e il creatore dell’applicazione con versione, titolo, descrizione, parole chiave, identificatori che consentono di identificare in modo univoco il file e le informazioni sulla cronologia.

3. Come aggiungere metadati XMP a un file EPS?

Imposta il percorso della directory dei documenti e crea il file EPS da un flusso. Per aggiungere metadati XMP utilizzare i metodi Add() della classe XmpMetadata.

EPS What is EPS File Format

EPS (Encapsulated PostScript) è un formato basato su PostScript che descrive una singola pagina. Ideale per grafica vettoriale e combinazioni vettoriale‑raster. Dopo l’importazione il file non è più modificabile; si consiglia di convertirlo in un formato editabile come SVG o PDF.