Làm việc với Siêu dữ liệu XMP EPS

Thêm, chỉnh sửa và lấy siêu dữ liệu của tệp EPS bằng C#

 

Siêu dữ liệu XMP là một tập hợp các thuộc tính đặc trưng cho tệp và được biểu diễn ở định dạng XML. Nó chứa thông tin tệp mô tả nội dung của tệp và các đặc điểm nhận dạng cho phép phân biệt tệp này với các tệp khác. Nó cũng lưu trữ dữ liệu về việc tạo và sửa đổi, những người dùng bằng cách nào đó đã tham gia vào việc tạo, thay đổi và tải lên tệp cũng như lịch sử chuyển đổi tệp.

Giải pháp API Aspose.Page trong số các tính năng khác nhau cho phép siêu dữ liệu XMP của các tệp EPS hoạt động. Tại đây, bạn sẽ tìm thấy thông tin giải thích cách thêm, chỉnh sửa và lấy nó. Tìm hiểu thêm các ví dụ về cách làm việc với siêu dữ liệu XMP . Hãy thử ứng dụng web XMP Metadata Editor của chúng tôi, để xem chức năng này có thể được sử dụng như thế nào.

Các bước thêm siêu dữ liệu XMP vào tệp EPS C#

  1. Đặt đường dẫn đến thư mục tài liệu.
  2. Khởi tạo luồng đầu vào tệp EPS.
  3. Tạo tệp PS từ luồng bằng Lớp PsDocument .
  4. Để tải siêu dữ liệu XMP, hãy sử dụng phương pháp GetXmpMetadata() .
  5. Lưu tài liệu EPS đã thay đổi bằng phương pháp Save() .

Mã C# để thêm siêu dữ liệu 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();
    }

Các bước chỉnh sửa siêu dữ liệu XMP thành tệp EPS C#

  1. Đặt đường dẫn đến thư mục tài liệu.
  2. Khởi tạo luồng đầu vào tệp EPS.
  3. Tạo tệp PS từ một luồng bằng Lớp PsDocument.
  4. Để lấy siêu dữ liệu XMP, hãy sử dụng phương thức GetXmpMetadata().
  5. Để thay đổi giá trị siêu dữ liệu XMP, hãy sử dụng phương pháp SetArrayItem() .
  6. Lưu tệp EPS đã thay đổi.

Mã C# để thay đổi siêu dữ liệu 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();
    }

Các bước để lấy siêu dữ liệu XMP của tệp EPS C#

  1. Đặt đường dẫn đến thư mục tài liệu.
  2. Khởi tạo luồng đầu vào tệp EPS.
  3. Tạo tệp PS từ một luồng bằng Lớp PsDocument.
  4. Nhận siêu dữ liệu XMP bằng phương pháp GetXmpMetadata().

Mã C# để lấy siêu dữ liệu 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();
    }



Câu hỏi thường gặp

1. Siêu dữ liệu XMP là gì?

XMP là tên viết tắt của Extensible Metadata Platform, - một tiêu chuẩn để nhúng các thuộc tính siêu dữ liệu vào các tệp phương tiện.

2. Thông tin gì được bao gồm trong XMP?

Có thông tin về tác giả, biên tập viên và người tạo ứng dụng với phiên bản, tiêu đề, mô tả, từ khóa, số nhận dạng cho phép xác định duy nhất tệp và thông tin lịch sử.

3. Làm cách nào để thêm siêu dữ liệu XMP vào tệp EPS?

Đặt đường dẫn đến thư mục tài liệu và tạo tệp EPS từ luồng. Để thêm siêu dữ liệu XMP, hãy sử dụng các Phương thức Add() của Lớp XmpMetadata.

EPS Những gì là EPS Tập Tin Định Dạng

EPS (ERSF) hoặc Định dạng tệp PostScript được đóng gói là định dạng thực sự là một chương trình PS mô tả một trang duy nhất trông như thế nào. Nó thực sự là PS giới hạn cộng với các ghi chú cụ thể giúp đóng gói đồ họa PostScript vào một tài liệu khác. EPS hỗ trợ hoàn hảo đồ họa vector hoặc đồ họa vector-raster kết hợp. Đặc thù của định dạng là ngay sau khi nó được nhập vào một tài liệu, nó không thể được chỉnh sửa nữa. Đó là một trong những lý do để chuyển đổi định dạng này thành định dạng mà bạn có thể làm việc.