Робота з метаданими XMP файлів EPS

Додавайте, редагуйте та отримуйте метадані файлів EPS за допомогою C# API

 

Метадані XMP — це набір властивостей, які характеризують файл і представлені у форматі XML. Вони містять інформацію про файл, яка описує вміст файлу та ідентифікатори, які дозволяють відрізнити цей файл від інших файлів, і також зберігає дані про створення та модифікацію, користувачів, які так чи інакше брали участь у створенні, зміні та завантаженні файлу, а також історію перетворення файлу.

API-рішення Aspose.Page іншого, дозволяє працювати з метаданими XMP файлів EPS. На цій сторінці ви знайдете інформацію, яка пояснює, як їх додавати, редагувати та отримувати. Дізнайтеся більше прикладів роботи з метаданими XMP . Спробуйте також веб-програму XMP Metadata Editor , щоб побачити, як практично можна використовувати цю функціональність.

Кроки для додавання метаданих XMP до файлу EPS C#

  1. Вкажіть шлях до каталогу документів.
  2. Ініціюйте вхідний поток файлу EPS.
  3. Створіть файл PS із потоку за допомогою PsDocument Class .
  4. Щоб отримати метадані XMP, скористайтеся методом GetXmpMetadata() .
  5. Збережіть змінений документ EPS за допомогою методу Save() .

Код C# для додавання метаданих 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();
    }

Кроки для редагування метаданих XMP у файлі EPS C#

  1. Вкажіть шлях до каталогу документів.
  2. Ініціюйте вхідний потоку файлу EPS.
  3. Створіть файл PS із потоку за допомогою класу PsDocument.
  4. Щоб отримати метадані XMP, використовуйте метод GetXmpMetadata().
  5. Щоб змінити значення метаданих XMP, використовуйте метод SetArrayItem() .
  6. Збережіть змінений файл EPS.

Код C# для зміни метаданих 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();
    }

Кроки для отримання метаданих XMP файлу EPS C#

  1. Вкажіть шлях до каталогу документів.
  2. Ініціюйте вхідний потоку файлу EPS.
  3. Створіть файл PS із потоку за допомогою класу PsDocument.
  4. Отримайте метадані XMP за допомогою методу GetXmpMetadata().

Код C# для отримання метаданих 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. Що таке метадані XMP?

XMP — це абревіатура від Extensible Metadata Platform — стандарт для вбудовування властивостей метаданих у медіафайли.

2. Яка інформація міститься в XMP?

Є інформація про автора, редактора та творця програми з версією, назвою, описом, ключовими словами, ідентифікаторами, які дозволяють однозначно ідентифікувати файл та відомостями про історію.

3. Як додати метадані XMP до файлу EPS?

Вкажіть шлях до каталогу документів і створіть файл EPS із потоку. Щоб додати метадані XMP, використовуйте методи Add() класу XmpMetadata.

EPS What is EPS File Format

EPS (EPSF) або формат файлу Інкапсульований PostScript — це формат, який насправді є програмою PS, яка описує, як виглядатиме окрема сторінка. Тобто це обмежений PS плюс окремі примітки, які допомагають інкапсулювати графіку PostScript в інший документ. EPS відмінно підтримує векторну графіку або комбіновану векторно-растрову графіку. Особливістю формату є те, що як тільки він імпортується в документ, його вже не можна редагувати. Це одна з причин конвертації цього формату на той, з яким ви легше працювати.