العمل مع XMP EPS Metadata

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

 

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

يسمح حل Aspose.Page API من بين الميزات الأخرى المختلفة بتشغيل بيانات 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 Class.
  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 Class.
  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 ما هو EPS تنسيق الملف

EPS (ERSF) أو تنسيق ملف Encapsulated PostScript هو التنسيق الذي هو في الواقع برنامج PS يصف الشكل الذي ستبدو عليه صفحة واحدة. إنه في الواقع PS محدود بالإضافة إلى ملاحظات معينة تساعد في تغليف رسومات PostScript في مستند آخر. يدعم EPS بشكل مثالي الرسومات المتجهة أو الرسومات النقطية المدمجة. خصوصية التنسيق هي أنه بمجرد استيراده إلى مستند ، لا يمكن تحريره بعد الآن. هذا هو أحد أسباب تحويل هذا التنسيق إلى التنسيق الذي يمكنك العمل معه.