Az XMP EPS metaadatok használata
EPS-fájlok hozzáadása, szerkesztése és metaadatainak lekérése a C# segítségével
Az XMP metaadatok olyan tulajdonságok halmaza, amelyek a fájlt jellemzik, és XML formátumban jelennek meg. Fájlinformációkat tartalmaz, amelyek leírják a fájl tartalmát, és azonosításokat, amelyek lehetővé teszik a fájl megkülönböztetését más fájloktól. Adatokat is tárol a létrehozásról és módosításról, a fájl létrehozásában, módosításában és feltöltésében valamilyen módon részt vett felhasználókról, valamint a fájl átalakítási előzményeiről.
Az Aspose.Page API megoldás a különféle egyéb szolgáltatások mellett lehetővé teszi az EPS-fájlok XMP-metaadatainak kezelését. Itt olyan információkat talál, amelyek elmagyarázzák, hogyan kell hozzáadni, szerkeszteni és megszerezni. További példák az XMP-metaadatok . Próbálja ki XMP Metadata Editor webalkalmazásunkat is, hogy megtudja, hogyan használható a funkció.
Az XMP-metaadatok hozzáadásának lépései a C# EPS-fájlhoz
- Állítsa be a dokumentumok könyvtárának elérési útját.
- EPS-fájl beviteli adatfolyam inicializálása.
- Hozzon létre PS-fájlt egy adatfolyamból a PsDocument Class használatával.
- Az XMP-metaadatok lekéréséhez használja a GetXmpMetadata() módszert.
- Mentse el a módosított EPS-dokumentumot a Save() módszerrel.
C# kód XMP metaadatok hozzáadásához
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();
}Az XMP metaadatok szerkesztésének lépései EPS-fájlba C#
- Állítsa be a dokumentumok könyvtárának elérési útját.
- EPS-fájl beviteli adatfolyam inicializálása.
- Hozzon létre egy PS-fájlt egy adatfolyamból a PsDocument Class használatával.
- Az XMP metaadatok lekéréséhez használja a GetXmpMetadata() metódust.
- Az XMP metaadatértékek módosításához használja a SetArrayItem() módszert.
- Mentse el a módosított EPS fájlt.
C# kód az XMP metaadatok megváltoztatásához
// 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();
}A C# EPS-fájl XMP-metaadatainak lekérésének lépései
- Állítsa be a dokumentumok könyvtárának elérési útját.
- EPS-fájl beviteli adatfolyam inicializálása.
- Hozzon létre egy PS-fájlt egy adatfolyamból a PsDocument Class használatával.
- Szerezzen be XMP metaadatokat a GetXmpMetadata() metódussal.
C# kód az XMP metaadatok lekéréséhez
// 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();
}GYIK
1. Mi az XMP metaadat?
Az XMP az Extensible Metadata Platform rövidítése, amely a metaadat-tulajdonságok médiafájlokba való beágyazásának szabványa.
2. Milyen információkat tartalmaz az XMP?
Információk találhatók az alkalmazás szerzőjéről, szerkesztőjéről és készítőjéről a verzióval, címmel, leírással, kulcsszavakkal, azonosítókkal, amelyek lehetővé teszik a fájl egyedi azonosítását és az előzmények információit.
3. Hogyan lehet XMP-metaadatokat hozzáadni egy EPS-fájlhoz?
Állítsa be a dokumentumok könyvtárának elérési útját, és hozza létre az EPS-fájlt egy adatfolyamból. XMP metaadatok hozzáadásához használja az XmpMetadata osztály Add() metódusait.
EPS What is EPS File Format
EPS (Encapsulated PostScript) egy PostScript‑alapú formátum, amely egyetlen oldal megjelenését írja le. Ideális vektor‑ és vektor‑raster keverékekhez. A fájl importálása után már nem szerkeszthető, ezért gyakran konvertálják szerkeszthető formátumba (pl. SVG vagy PDF).