Trabalhando com metadados EPS XMP

Adicione, edite e obtenha metadados de arquivos EPS com C#

 

Os metadados XMP são um conjunto de propriedades que caracterizam o arquivo e são representados no formato XML. Ele contém informações de arquivo que descrevem o conteúdo do arquivo e identificações que permitem distinguir este arquivo de outros arquivos. Ele também armazena dados sobre criação e modificação, usuários que de alguma forma participaram da criação, alteração e upload do arquivo e o histórico da transformação do arquivo.

A solução de API Aspose.Page entre os diferentes outros recursos permite trabalhar com metadados XMP de arquivos EPS. Aqui você encontrará informações que explicam como adicionar, editar e obtê-lo. Saiba mais exemplos de como trabalhar com metadados XMP . Experimente também nosso aplicativo da web XMP Metadata Editor para ver como a funcionalidade pode ser usada.

Etapas para adicionar metadados XMP ao arquivo EPS C#

  1. Defina o caminho para o diretório de documentos.
  2. Inicialize um fluxo de entrada de arquivo EPS.
  3. Crie um arquivo PS a partir de um fluxo usando a PsDocument Class .
  4. Para obter metadados XMP, use o método GetXmpMetadata() .
  5. Salve o documento EPS alterado usando o método Save() .

Código C# para adicionar metadados 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();
    }

Etapas para editar metadados XMP para arquivo EPS C#

  1. Defina o caminho para o diretório de documentos.
  2. Inicialize um fluxo de entrada de arquivo EPS.
  3. Crie um arquivo PS de um fluxo usando a PsDocument Class.
  4. Para obter metadados XMP, use o método GetXmpMetadata().
  5. Para alterar os valores de metadados XMP, use o método SetArrayItem() .
  6. Salve o arquivo EPS alterado.

Código C# para alterar metadados 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();
    }

Etapas para obter metadados XMP do arquivo EPS C#

  1. Defina o caminho para o diretório de documentos.
  2. Inicialize um fluxo de entrada de arquivo EPS.
  3. Crie um arquivo PS de um fluxo usando a PsDocument Class.
  4. Obtenha metadados XMP usando o método GetXmpMetadata().

Código C# para obter metadados 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();
    }



Perguntas frequentes

1. O que são metadados XMP?

XMP é uma abreviatura de Extensible Metadata Platform, - um padrão para incorporar propriedades de metadados em arquivos de mídia.

2. Quais informações estão incluídas no XMP?

Há informações sobre o autor, editor e criador do aplicativo com versão, título, descrição, palavras-chave, identificadores que permitem identificar de forma única o arquivo e informações do histórico.

3. Como adicionar metadados XMP a um arquivo EPS?

Defina o caminho para o diretório de documentos e crie o arquivo EPS a partir de um fluxo. Para adicionar metadados XMP use os métodos Add() da classe XmpMetadata.

EPS O que é EPS Formato de Arquivo

EPS (ERSF) ou Formato de Arquivo PostScript Encapsulado é o formato que na verdade é um programa PS que descreve como seria uma única página. Na verdade, é PS limitado mais notas específicas que ajudam a encapsular gráficos PostScript em outro documento. O EPS suporta perfeitamente gráficos vetoriais ou gráficos vetoriais combinados. A peculiaridade do formato é que assim que é importado para um documento, ele não pode mais ser editado. Essa é uma das razões para converter este formato para aquele com o qual você pode trabalhar.