Робота з XMP метаданими EPS
Додавайте, редагуйте та отримуйте метадані файлів EPS за допомогою C# API
XMP метадані — це набір властивостей, які характеризують файл і представлені у форматі XML. Вони містять інформацію про файл, що описує вміст файлу, та ідентифікатори, які дозволяють відрізнити цей файл від інших. Також вони зберігають дані про створення та зміну, користувачів, які брали участь у створенні, зміні та завантаженні файлу, а також історію трансформації файлу.
API рішення Aspose.Page серед інших функцій дозволяє працювати з XMP метаданими файлів EPS. Тут ви знайдете інформацію, яка пояснює, як їх додавати, редагувати та отримувати. Дізнайтеся більше на прикладах того, як працювати з XMP метаданими . Спробуйте також наш веб-додаток XMP Metadata Editor , щоб побачити, як можна використовувати цю функціональність.
Кроки для додавання XMP метаданих до файлу EPS на C#
- Вкажіть шлях до каталогу документів.
- Ініціалізуйте вхідний потік файлу EPS.
- Створіть файл PS із потоку за допомогою класу PsDocument .
- Щоб отримати XMP метадані, використовуйте метод GetXmpMetadata() .
- Збережіть змінений документ 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#
- Вкажіть шлях до каталогу документів.
- Ініціалізуйте вхідний потік файлу EPS.
- Створіть файл PS із потоку за допомогою класу PsDocument.
- Щоб отримати XMP метадані, використовуйте метод GetXmpMetadata().
- Щоб змінити значення XMP метаданих, використовуйте метод SetArrayItem() .
- Збережіть змінений файл 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#
- Вкажіть шлях до каталогу документів.
- Ініціалізуйте вхідний потік файлу EPS.
- Створіть файл PS із потоку за допомогою класу PsDocument.
- Отримайте 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 (Encapsulated PostScript) — формат на основі PostScript, який описує одну сторінку. Підходить для векторних графік та комбінованих вектор‑растр зображень. Після імпорту файл не можна редагувати, тому його зазвичай конвертують у редагований формат, наприклад SVG або PDF.