العمل مع بيانات XMP الوصفية لـ EPS

إضافة وتحرير والحصول على بيانات وصفية لملفات EPS باستخدام C# API

 

بيانات XMP الوصفية هي مجموعة من الخصائص التي تميز الملف ويتم تمثيلها بتنسيق XML. وهي تحتوي على معلومات الملف التي تصف محتوى الملف وتحديد الهوية التي تسمح بتمييز هذا الملف عن الملفات الأخرى. كما تقوم بتخزين بيانات حول الإنشاء والتعديل، والمستخدمين الذين شاركوا بطريقة ما في إنشاء الملف وتغييره وتحميله، وتاريخ تحويل الملف.

يسمح حل Aspose.Page API من بين الميزات الأخرى بالعمل مع بيانات XMP الوصفية لملفات EPS. ستجد هنا معلومات تشرح كيفية الإضافة والتحرير والحصول عليها. تعرف على المزيد من الأمثلة حول كيفية العمل مع بيانات XMP الوصفية . جرب أيضًا تطبيق الويب الخاص بنا XMP Metadata Editor ، لترى كيف يمكن استخدام هذه الوظيفة.

خطوات إضافة بيانات XMP الوصفية إلى ملف EPS باستخدام C#

  1. قم بتعيين المسار إلى دليل المستندات.
  2. تهيئة دفق إدخال ملف EPS.
  3. إنشاء ملف PS من دفق باستخدام فئة PsDocument .
  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();
    }



التعليمات

1. ما هي بيانات تعريف XMP؟

XMP هو اختصار لـ Extensible Metadata Platform - وهو معيار لتضمين خصائص البيانات التعريفية في ملفات الوسائط.

2. ما هي المعلومات المضمنة في XMP؟

توجد معلومات حول مؤلف التطبيق ومحرره ومنشئه مع الإصدار والعنوان والوصف والكلمات الرئيسية والمعرفات التي تسمح بتحديد الملف ومعلومات السجل بشكل فريد.

3. كيفية إضافة بيانات تعريف XMP إلى ملف EPS؟

قم بتعيين المسار إلى دليل المستندات وقم بإنشاء ملف EPS من الدفق. لإضافة بيانات تعريف XMP، استخدم أساليب Add() الخاصة بالفئة XmpMetadata.

EPS What is EPS File Format

تنسيق EPS (Encapsulated PostScript) هو ملف PostScript يُستخدم لتغليف رسومات صفحة واحدة. يُعد مثالياً للرسومات المتجهة والرسومات النقطية المدمجة. بمجرد استيراد ملف EPS إلى مستند، يصبح غير قابل للتحرير، لذا يُستحسن تحويله إلى تنسيق يمكن التعديل عليه مثل SVG أو PDF قبل الاستخدام.