Lavorare con i metadati EPS XMP

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

 

I metadati XMP sono un insieme di proprietà che caratterizza il file e sono rappresentati in formato XML. Contiene informazioni sul file che descrivono il contenuto del file e identificazioni che consentono di distinguere questo file da altri file. Memorizza anche i dati sulla creazione e la modifica, gli utenti che in qualche modo hanno preso parte alla creazione, modifica e caricamento del file e la cronologia della trasformazione del file.

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

Passaggi per aggiungere metadati XMP al file EPS C#

  1. Imposta il percorso della directory dei documenti.
  2. Inizializza un flusso di input di file EPS.
  3. Crea un file PS da uno stream utilizzando la PsDocument Class .
  4. Per ottenere i metadati XMP, utilizzare 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 nel file EPS C#

  1. Imposta il percorso della directory dei documenti.
  2. Inizializza un flusso di input di file EPS.
  3. Crea un file PS da uno stream usando la PsDocument Class.
  4. Per ottenere i metadati XMP, utilizzare il metodo GetXmpMetadata().
  5. Per modificare i valori dei metadati XMP, utilizzare 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 del file EPS C#

  1. Imposta il percorso della directory dei documenti.
  2. Inizializza un flusso di input di file EPS.
  3. Crea un file PS da uno stream usando la PsDocument Class.
  4. Ottieni 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 Cos'è il formato file EPS

EPS (ERSF) o Encapsulated PostScript File Format è il formato che è in realtà un programma PS che descrive l'aspetto di una singola pagina. In realtà è un PS limitato più note particolari che aiutano a incapsulare la grafica PostScript in un altro documento. EPS supporta perfettamente la grafica vettoriale o la grafica raster vettoriale combinata. La particolarità del formato è che non appena viene importato in un documento, non può più essere modificato. Questo è uno dei motivi per convertire questo formato in quello con cui puoi lavorare.