Lavorare con i metadati XMP EPS
Aggiungi, modifica e ottieni metadati di file EPS con l’API C#
I metadati XMP sono un insieme di proprietà che caratterizzano il file e sono rappresentati in formato XML. Contengono informazioni sul file che ne descrivono il contenuto e identificazioni che consentono di distinguere questo file da altri file. Memorizzano inoltre dati sulla creazione e modifica, sugli utenti che hanno in qualche modo partecipato alla creazione, modifica e caricamento del file e la cronologia della trasformazione del file.
La soluzione API Aspose.Page, tra le altre diverse funzionalità, consente di lavorare con i metadati XMP dei file EPS. Qui troverai informazioni che spiegano come aggiungerli, modificarli e ottenerli. Scopri altri esempi su come lavorare con i metadati XMP . Prova anche la nostra app web XMP Metadata Editor , per vedere come può essere utilizzata la funzionalità.
Passaggi per aggiungere metadati XMP a un file EPS in C#
- Imposta il percorso della directory dei documenti.
- Inizializza uno stream di input per il file EPS.
- Crea un file PS da uno stream utilizzando la Classe PsDocument .
- Per ottenere i metadati XMP, utilizza il metodo GetXmpMetadata() .
- Salva il documento EPS modificato utilizzando il metodo Save() .
Codice C# per aggiungere metadati 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();
}Passaggi per modificare i metadati XMP in un file EPS in C#
- Imposta il percorso della directory dei documenti.
- Inizializza uno stream di input per il file EPS.
- Crea un file PS da uno stream utilizzando la Classe PsDocument.
- Per ottenere i metadati XMP, utilizza il metodo GetXmpMetadata().
- Per modificare i valori dei metadati XMP, utilizza il metodo SetArrayItem() .
- Salva il file EPS modificato.
Codice C# per modificare i metadati 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();
}Passaggi per ottenere i metadati XMP di un file EPS in C#
- Imposta il percorso della directory dei documenti.
- Inizializza uno stream di input per il file EPS.
- Crea un file PS da uno stream utilizzando la Classe PsDocument.
- Ottieni i metadati XMP utilizzando il metodo GetXmpMetadata().
Codice C# per ottenere i metadati 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. Cosa sono i metadati XMP?
XMP è l’abbreviazione di Extensible Metadata Platform, uno standard per incorporare proprietà di metadati nei file multimediali.
2. Quali informazioni sono incluse in XMP?
Sono disponibili informazioni sull’autore, l’editore e il creatore dell’applicazione con versione, titolo, descrizione, parole chiave, identificatori che consentono di identificare in modo univoco il file e le informazioni sulla cronologia.
3. Come aggiungere metadati XMP a un file EPS?
Imposta il percorso della directory dei documenti e crea il file EPS da un flusso. Per aggiungere metadati XMP utilizzare i metodi Add() della classe XmpMetadata.
EPS What is EPS File Format
EPS (Encapsulated PostScript) è un formato basato su PostScript che descrive una singola pagina. Ideale per grafica vettoriale e combinazioni vettoriale‑raster. Dopo l’importazione il file non è più modificabile; si consiglia di convertirlo in un formato editabile come SVG o PDF.