Bekerja dengan Metadata EPS XMP
Tambahkan, edit, dan dapatkan metadata file EPS dengan C#
Metadata XMP adalah sekumpulan properti yang mencirikan file dan direpresentasikan dalam format XML. Ini berisi informasi file yang menjelaskan konten file dan identifikasi yang memungkinkan untuk membedakan file ini dari file lain. Ini juga menyimpan data tentang pembuatan dan modifikasi, pengguna yang entah bagaimana mengambil bagian dalam membuat, mengubah, dan mengunggah file, dan riwayat transformasi file.
Solusi Aspose.Page API di antara berbagai fitur lainnya memungkinkan metadata XMP yang berfungsi dari file EPS. Di sini Anda akan menemukan informasi yang menjelaskan cara menambahkan, mengedit, dan mendapatkannya. Pelajari lebih lanjut contoh cara bekerja dengan XMP metadata . Coba juga aplikasi web XMP Metadata Editor kami, untuk melihat bagaimana fungsionalitas dapat digunakan.
Langkah-langkah untuk menambahkan metadata XMP ke file EPS C#
- Atur jalur ke direktori dokumen.
- Inisialisasi aliran input file EPS.
- Buat file PS dari aliran menggunakan PsDocument Class .
- Untuk mendapatkan metadata XMP, gunakan Metode GetXmpMetadata() .
- Simpan dokumen EPS yang diubah menggunakan Metode Save() .
Kode C# untuk menambahkan metadata 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();
}
Langkah-langkah untuk mengedit metadata XMP ke file EPS C#
- Atur jalur ke direktori dokumen.
- Inisialisasi aliran input file EPS.
- Buat file PS dari aliran menggunakan PsDocument Class.
- Untuk mendapatkan metadata XMP gunakan Metode GetXmpMetadata().
- Untuk mengubah nilai metadata XMP, gunakan Metode SetArrayItem() .
- Simpan file EPS yang diubah.
Kode C# untuk mengubah metadata 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();
}
Langkah-langkah untuk mendapatkan metadata XMP dari file EPS C#
- Atur jalur ke direktori dokumen.
- Inisialisasi aliran input file EPS.
- Buat file PS dari aliran menggunakan PsDocument Class.
- Dapatkan metadata XMP menggunakan Metode GetXmpMetadata().
Kode C# untuk mendapatkan metadata 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();
}
Pertanyaan Umum
1. Apa itu Metadata XMP?
XMP adalah singkatan dari Extensible Metadata Platform, - standar untuk menyematkan properti metadata dalam file media.
2. Informasi apa yang disertakan dalam XMP?
Terdapat informasi tentang penulis, editor, dan pembuat aplikasi dengan versi, judul, deskripsi, kata kunci, pengidentifikasi yang memungkinkan identifikasi file dan info riwayat secara unik.
3. Bagaimana cara menambahkan metadata XMP ke file EPS?
Tetapkan jalur ke direktori dokumen dan buat file EPS dari aliran. Untuk menambahkan metadata XMP gunakan Metode Tambah() dari Kelas XmpMetadata.
EPS Apa itu Format File EPS
EPS (ERSF) atau Encapsulated PostScript File Format adalah format yang sebenarnya merupakan program PS yang menjelaskan seperti apa tampilan satu halaman. Ini sebenarnya adalah PS terbatas ditambah catatan khusus yang membantu merangkum grafik PostScript ke dokumen lain. EPS dengan sempurna mendukung grafik vektor atau grafik vektor-raster gabungan. Keunikan formatnya adalah segera setelah diimpor ke dalam dokumen, tidak dapat diedit lagi. Itulah salah satu alasan untuk mengonversi format ini ke format yang dapat Anda gunakan.