Daftar isi
Gambaran Umum
Mengelola metadata dokumen di berbagai format file dapat menjadi tantangan. GroupDocs.Metadata untuk .NET menyederhanakan hal ini dengan menyediakan sistem penandaan (tagging) untuk menyatukan properti metadata umum (mis. Title, Author, Created Date) di bawah tag. Dalam panduan cara ini, kami akan mengeksplorasi cara menemukan, menambahkan, menyalin, memperbarui, dan menghapus metadata menggunakan tag dengan GroupDocs.Metadata untuk .NET.
GroupDocs.Metadata menggunakan tag untuk memberi label pada properti metadata penting dalam sebuah file, terlepas dari format dokumen atau standar metadata yang digunakan. Setiap tag termasuk dalam kategori yang mengelompokkan tag‑tag terkait untuk memudahkan penemuan.
Sebagai contoh:
Content Tags: Menjelaskan isi file (mis. language, genre, subject, rating)
Person Tags: Mengidentifikasi orang atau organisasi yang terkait dengan konten (mis. document creator, editor, company)
Time Tags: Mewakili stempel waktu dalam siklus hidup file (mis. creation date, last modified time, print date)
(Kategori lain meliputi Legal, Origin, Tool, dll., masing‑masing mengelompokkan tag yang relevan.)
Dengan menggunakan tag‑tag ini, Anda dapat mencari dan memanipulasi metadata secara terpadu di seluruh dokumen Word, PDF, gambar, dan lainnya.
Misalnya, tag “Author” atau “Creator” dalam kategori Person akan cocok dengan properti author dalam dokumen Word atau PDF tanpa Anda harus mengetahui nama bidang metadata spesifik format tersebut. Ini membuat tag sangat berguna untuk mengorganisir file dan mengotomatisasi tugas manajemen metadata.
Kasus Penggunaan
Pada bagian ini, kami akan memperkenalkan berbagai kasus penggunaan yang menyoroti aplikasi praktis.
Temukan Properti Metadata berdasarkan Tag
Salah satu kasus penggunaan umum adalah menemukan entri metadata dalam sebuah file berdasarkan tag‑nya. Hal ini sangat membantu untuk meningkatkan kemampuan pencarian – Anda dapat mengambil informasi tertentu dari dokumen apa pun tanpa harus memikirkan formatnya.
Langkah‑langkah
- Muat file ke dalam objek
Metadata. - Temukan properti menggunakan
FindProperties()dengan predikat berbasis tag. Anda dapat menyaring berdasarkan tag tertentu atau seluruh kategori. - Iterasi hasil untuk memeriksa atau menggunakan metadata.
// Load the source document (e.g., a PowerPoint file)
using (Metadata metadata = new Metadata("source.pptx"))
{
// Find properties tagged as "last editor" or "last modified time"
var properties = metadata.FindProperties(p =>
p.Tags.Contains(Tags.Person.Editor) ||
p.Tags.Contains(Tags.Time.Modified));
// List the found properties and their values
foreach (var property in properties)
{
Console.WriteLine($"Property name: {property.Name}, Value: {property.Value}");
}
}
Menambahkan Properti Metadata berdasarkan Tag
Terkadang sebuah file mungkin tidak memiliki metadata tertentu (mis. tidak ada “Last Printed Date”). Dengan GroupDocs.Metadata, Anda dapat menambahkan properti metadata dengan menentukan tag, dan API akan menaruhnya pada paket metadata yang tepat bila format mendukungnya.
Langkah‑langkah
- Muat file ke dalam objek
Metadata. - Panggil
AddProperties()dengan predikat untuk mengidentifikasi tempat penambahan, lalu berikan nilai properti baru. - Periksa nilai kembali untuk melihat berapa banyak properti yang ditambahkan.
- Simpan dokumen (jika ingin menyimpan perubahan).
Sebagai contoh, kode di bawah menambahkan tanggal/waktu “Last Printed” ke dokumen bila belum ada:
using (Metadata metadata = new Metadata("source.pdf"))
{
if (metadata.FileFormat != FileFormat.Unknown && !metadata.GetDocumentInfo().IsEncrypted)
{
// Add a "Last Printed" date property if it's missing
int affected = metadata.AddProperties(
p => p.Tags.Contains(Tags.Time.Printed),
new PropertyValue(DateTime.Now));
Console.WriteLine("Properties added: " + affected);
metadata.Save("output.pdf");
}
}
Di sini kami menggunakan Tags.Time.Printed – tag untuk tanggal “Printed” pada kategori Time. Predikat p.Tags.Contains(Tags.Time.Printed) menargetkan properti metadata Printed yang diketahui. Jika properti tersebut tidak ada, AddProperties akan menambahkannya dengan nilai yang kami berikan (DateTime.Now). Metode ini mengembalikan jumlah properti yang ditambahkan (affected), yang kami tampilkan. Akhirnya, kami menyimpan file untuk mempertahankan metadata baru.
Menyalin Properti Metadata berdasarkan Tag
Kadang‑kadang, Anda ingin menyalin hanya tipe metadata tertentu, seperti nama penulis atau tanggal pembuatan. Metode CopyTo memungkinkan Anda menggunakan predikat untuk menyaring properti yang akan disalin. Berikut cara menyalin hanya metadata yang berhubungan dengan penulis atau tanggal pembuatan:
Langkah‑langkah
- Muat kedua file, sumber dan target, menggunakan kelas
Metadata. - Gunakan metode
CopyTountuk mentransfer metadata dari sumber ke target. - Simpan file target untuk menerapkan metadata yang disalin.
using (Metadata sourceMetadata = new Metadata("source.xlsx"))
using (Metadata targetMetadata = new Metadata("target.pptx"))
{
// Copy only Author (Creator) and Creation Date metadata properties
sourceMetadata.CopyTo(targetMetadata, p =>
p.Tags.Contains(Tags.Person.Creator) ||
p.Tags.Contains(Tags.Time.Created));
// Save the changes
targetMetadata.Save();
}
Dalam contoh ini, hanya metadata dengan tag untuk Creator (nama penulis) dan Created Date yang akan disalin dari file Excel (source.xlsx) ke presentasi PowerPoint (target.pptx). Penyaringan selektif ini memberi Anda kontrol tepat atas metadata, memudahkan memastikan dokumen hanya berisi metadata yang Anda inginkan.
Memperbarui Properti Metadata berdasarkan Tag
Selain menambahkan metadata baru, Anda sering perlu memperbarui nilai metadata yang sudah ada (mis. memperbaiki nama penulis atau menstandarkan tanggal). GroupDocs.Metadata menyediakan metode SetProperties() untuk hal ini. Metode ini memakai tag untuk menemukan properti target dan memperbarui nilainya. Jika properti yang ditargetkan tidak ada, SetProperties dapat menambahkannya – sehingga memperbarui dan menambah menjadi satu langkah.
Langkah‑langkah
- Muat file ke dalam objek
Metadata. - Panggil
SetProperties()dengan filter berbasis tag danPropertyValuebaru. - Periksa jumlah properti yang terpengaruh (diperbarui atau ditambahkan).
- Simpan perubahan ke file bila diperlukan.
Sebagai contoh, misalkan kita ingin memperbarui tanggal pembuatan dan tanggal terakhir diubah dokumen ke tanggal/waktu saat ini (bisa digunakan untuk mereset atau menstandarkan stempel waktu):
using (Metadata metadata = new Metadata("source.pdf"))
{
// Update all "Created" or "Modified" date properties to now
int affected = metadata.SetProperties(
p => p.Tags.Contains(Tags.Time.Created) || p.Tags.Contains(Tags.Time.Modified),
new PropertyValue(DateTime.Now));
Console.WriteLine("Properties updated or added: " + affected);
metadata.Save("updated.pdf");
}
Dalam predikat tersebut, Tags.Time.Created dan Tags.Time.Modified adalah tag untuk tanggal pembuatan dan tanggal modifikasi terakhir. Kode ini akan menemukan semua properti metadata yang ditandai dengan salah satu tag tersebut dan mengatur nilainya ke DateTime.Now. Jika, misalnya, properti tanggal Created tidak ada dalam metadata file, pustaka akan menambahkannya (karena merupakan properti standar yang dikenal untuk format tersebut).
Menghapus Metadata berdasarkan Tag
Untuk privasi atau kepatuhan, Anda mungkin perlu menghapus metadata tertentu (mis. nama penulis atau informasi pribadi) dari dokumen. Tag memudahkan penargetan dan penghapusan metadata semacam itu di berbagai format. Metode RemoveProperties() menerima predikat seperti metode lainnya, dan akan menghapus semua entri metadata yang cocok.
Langkah‑langkah
- Muat file ke dalam objek
Metadata. - Panggil
RemoveProperties()dengan predikat berbasis tag yang mengidentifikasi properti yang akan dihapus. - Tinjau jumlah properti yang dihapus yang dikembalikan oleh metode.
- Simpan file untuk menerapkan perubahan.
using (Metadata metadata = new Metadata("source.docx"))
{
// Remove properties that are tagged as Creator or Editor, or any string containing "John"
int removedCount = metadata.RemoveProperties(p =>
p.Tags.Contains(Tags.Person.Creator) ||
p.Tags.Contains(Tags.Person.Editor) ||
(p.Value.Type == MetadataPropertyType.String && p.Value.ToString().Contains("John"))
);
Console.WriteLine("Properties removed: " + removedCount);
metadata.Save("cleaned.docx");
}
Predikat ini menggabungkan beberapa kriteria: setiap properti yang ditandai sebagai Creator atau Editor (keduanya berada dalam kategori Person) akan dihapus, serta setiap metadata tipe string yang mengandung “John” dalam nilainya. Dalam skenario nyata, logika semacam ini dapat digunakan untuk membersihkan dokumen dari data pribadi (seperti nama penulis atau nama klien).
Kesimpulan
Dalam artikel ini, kami menunjukkan bagaimana fitur penandaan (tagging) pada GroupDocs.Metadata untuk .NET memungkinkan Anda menambah, menyalin, menemukan, memperbarui, dan menghapus metadata secara terpadu di banyak jenis dokumen. Dengan memanfaatkan tag seperti Content, Person, Time, dll., Anda dapat membangun alur kerja yang mengorganisir file berdasarkan metadata yang konsisten, meningkatkan kemampuan pencarian (mis. temukan semua file berdasarkan penulis atau tanggal), serta mengotomatisasi pengkategorian atau pembersihan dokumen.
Lihat Juga
- GroupDocs.Metadata for .NET Documentation
- GroupDocs.Metadata for .NET Product Overview
- GroupDocs.Metadata for .NET GitHub Examples
- GroupDocs.Metadata for .NET Release Notes
Dapatkan Uji Coba Gratis
Anda dapat mengunduh versi uji coba gratis GroupDocs.Metadata untuk .NET dari releases.groupdocs.com. Anda juga dapat memperoleh lisensi sementara untuk mencoba semua fitur dan fungsionalitas tanpa batasan dari di sini.