Arbeiten mit XMP-EPS-Metadaten
Hinzufügen, Bearbeiten und Abrufen von Metadaten von EPS-Dateien mit C#
XMP-Metadaten sind eine Reihe von Eigenschaften, die die Datei charakterisieren und im XML-Format dargestellt werden. Sie enthält Dateiinformationen, die den Inhalt der Datei beschreiben, und Kennungen, die es ermöglichen, diese Datei von anderen Dateien zu unterscheiden. Es speichert auch Daten über die Erstellung und Änderung, Benutzer, die irgendwie an der Erstellung, Änderung und dem Hochladen der Datei beteiligt waren, und den Verlauf der Transformation der Datei.
Die Aspose.Page API-Lösung ermöglicht neben den verschiedenen anderen Funktionen das Arbeiten mit XMP-Metadaten von EPS-Dateien. Hier finden Sie Informationen zum Hinzufügen, Bearbeiten und Abrufen. Erfahren Sie mehr Beispiele für die Arbeit mit XMP-Metadaten . Probieren Sie auch unsere Web-App XMP Metadata Editor aus, um zu sehen, wie die Funktionalität verwendet werden kann.
Schritte zum Hinzufügen von XMP-Metadaten zur EPS-Datei C#
- Legen Sie den Pfad zum Dokumentenverzeichnis fest.
- Initialisieren Sie einen EPS-Datei-Eingabestream.
- Erstellen Sie mithilfe der PsDocument-Klasse eine PS-Datei aus einem Stream.
- Verwenden Sie zum Abrufen von XMP-Metadaten die Methode GetXmpMetadata() .
- Speichern Sie das geänderte EPS-Dokument mit der Methode Save() .
C#-Code zum Hinzufügen von XMP-Metadaten
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();
}
Schritte zum Bearbeiten von XMP-Metadaten in EPS-Datei C#
- Legen Sie den Pfad zum Dokumentenverzeichnis fest.
- Initialisieren Sie einen EPS-Datei-Eingabestream.
- Erstellen Sie mithilfe der PsDocument-Klasse eine PS-Datei aus einem Stream.
- Verwenden Sie zum Abrufen von XMP-Metadaten die Methode GetXmpMetadata().
- Verwenden Sie zum Ändern von XMP-Metadatenwerten die Methode SetArrayItem() .
- Speichern Sie die geänderte EPS-Datei.
C#-Code zum Ändern von XMP-Metadaten
// 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();
}
Schritte zum Abrufen von XMP-Metadaten der EPS-Datei C#
- Legen Sie den Pfad zum Dokumentenverzeichnis fest.
- Initialisieren Sie einen EPS-Datei-Eingabestream.
- Erstellen Sie mithilfe der PsDocument-Klasse eine PS-Datei aus einem Stream.
- Rufen Sie XMP-Metadaten mit der Methode GetXmpMetadata() ab.
C#-Code zum Abrufen von XMP-Metadaten
// 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. Was sind XMP-Metadaten?
XMP ist eine Abkürzung für Extensible Metadata Platform – ein Standard zum Einbetten von Metadateneigenschaften in Mediendateien.
2. Welche Informationen sind in XMP enthalten?
Es gibt Informationen über den Autor, Herausgeber und Ersteller der Anwendung mit Version, Titel, Beschreibung, Schlüsselwörtern und Kennungen, die eine eindeutige Identifizierung der Datei ermöglichen, sowie Verlaufsinformationen.
3. Wie füge ich XMP-Metadaten zu einer EPS-Datei hinzu?
Legen Sie den Pfad zum Dokumentenverzeichnis fest und erstellen Sie die EPS-Datei aus einem Stream. Um XMP-Metadaten hinzuzufügen, verwenden Sie die Add()-Methoden der XmpMetadata-Klasse.
EPS Was ist EPS Dateiformat
EPS (ERSF) oder Encapsulated PostScript File Format ist das Format, das eigentlich ein PS-Programm ist, das beschreibt, wie eine einzelne Seite aussehen würde. Es ist eigentlich PS und bestimmte Hinweise begrenzt, die helfen, PostScript-Grafiken in ein anderes Dokument einzukapseln. EPS unterstützt perfekt Vektorgrafiken oder kombinierte Vektor-Raster-Grafiken. Die Besonderheit des Formats besteht darin, dass es, sobald es in ein Dokument importiert wird, nicht mehr bearbeitet werden kann. Das ist einer der Gründe, dieses Format in das zu konvertieren, mit dem Sie arbeiten können.