สารบัญ
ภาพรวม
การจัดการข้อมูลเมตาดาทาของเอกสารในรูปแบบไฟล์ต่าง ๆ อาจเป็นเรื่องท้าทาย GroupDocs.Metadata สำหรับ .NET ทำให้กระบวนการนี้ง่ายขึ้นด้วยระบบแท็กที่ทำให้คุณสมบัติเบื้องต้นของเมตาดาทา (เช่น ชื่อเรื่อง, ผู้เขียน, วันที่สร้าง) ถูกจัดอยู่ในแท็กเดียวกัน ในคู่มือวิธีใช้นี้ เราจะสำรวจวิธีค้นหา, เพิ่ม, คัดลอก, ปรับปรุงและลบข้อมูลเมตาดาทาโดยใช้แท็กกับ GroupDocs.Metadata สำหรับ .NET
GroupDocs.Metadata ใช้แท็กเพื่อระบุคุณสมบัติเพิ่มเติมของข้อมูลเมตาดาทาในไฟล์ ไม่ว่ารูปแบบหรือมาตรฐานเมตาดาทาใดๆ สำหรับแต่ละแท็กจะอยู่ในประเภทรูปแบบที่จัดกลุ่มแท็กที่สัมพันธ์กันเพื่อให้ง่ายต่อการค้นพบ
ตัวอย่างเช่น:
- แท็กเนื้อหา (Content Tags): อธิบายเนื้อหาของไฟล์ (เช่น ภาษา, ประเภท, หัวข้อ, การให้คะแนน)
- แท็กบุคคล (Person Tags): ระบุตัวบุคคลหรือองค์กรที่เกี่ยวข้องกับเนื้อหา (เช่น ผู้สร้างเอกสาร, ผู้แก้ไข, บริษัท)
- แท็กเวลา (Time Tags): แสดงค่าเวลาต่าง ๆ ในวงจรชีวิตของไฟล์ (เช่น วันที่สร้าง, เวลาที่แก้ไขล่าสุด, วันที่พิมพ์)
(ประเภทอื่น ๆ ได้แก่ Legal, Origin, Tool ฯลฯ โดยแต่ละประเภทจะรวมแท็กที่เกี่ยวข้อง)
ด้วยแท็กเหล่านี้ คุณสามารถค้นหาและจัดการเมตาดาทาในรูปแบบเดียวกันบนเอกสาร Word, PDF, รูปภาพและอื่น ๆ อีกมากมาย
เช่น แท็ก “Author” หรือ “Creator” ในประเภท Person จะตรงกับคุณสมบัติผู้เขียนในเอกสาร Word หรือ PDF โดยไม่จำเป็นต้องรู้ชื่อฟิลด์เมตาดาทาเฉพาะของแต่ละรูปแบบ ทำให้แท็กเป็นเครื่องมือที่มีประโยชน์อย่างยิ่งสำหรับการจัดระเบียบไฟล์และอัตโนมัติกระบวนการจัดการเมตาดาทา
กรณีการใช้งาน
ในส่วนนี้ เราจะนำเสนอกรณีการใช้งานที่แสดงให้เห็นถึงการประยุกต์ใช้ในทางปฏิบัติ
ค้นหาคุณสมบัติเมมตาดาต้าโดยแท็ก
กรณีการใช้งานที่พบบ่อยคือการค้นหารายการเมตาดาทาในไฟล์โดยอ้างอิงจากแท็ก ซึ่งช่วยเพิ่มความสามารถในการค้นหา – คุณสามารถดึงข้อมูลเฉพาะจากเอกสารใด ๆ โดยไม่ต้องกังวลเรื่องรูปแบบไฟล์
ขั้นตอน
- โหลดไฟล์เข้าสู่วัตถุ
Metadata - ค้นหาคุณสมบัติด้วย
FindProperties()พร้อมอิมพลิเมนต์แบบกำหนดแท็ก คุณสามารถกรองโดยแท็กเฉพาะหรือประเภททั้งหมด - วนลูปผลลัพธ์เพื่อตรวจสอบหรือใช้เมตาดาทา
// 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}");
}
}
การเพิ่มคุณสมบัติเมมตาดาต้าโดยแท็ก
บางครั้งไฟล์อาจขาดข้อมูลเมตาดาทาบางอย่าง (เช่น ไม่มี “วันที่พิมพ์ครั้งสุดท้าย”) ด้วย GroupDocs.Metadata คุณสามารถเพิ่มคุณสมบัติเบื้องต้นโดยระบุแท็ก และ API จะวางค่าไว้ในแพ็กเกจเมตาดาทาที่เหมาะสม หากรูปแบบไฟล์รองรับ
ขั้นตอน
- โหลดไฟล์เข้าสู่วัตถุ
Metadata - เรียก
AddProperties()พร้อมอิมพลิเมนต์เพื่อระบุที่ต้องเพิ่มและให้ค่าคุณสมบัติใหม่ - ตรวจสอบค่าที่คืนกลับเพื่อดูจำนวนคุณสมบัติที่เพิ่ม
- บันทึกเอกสาร (หากต้องการบันทึกการเปลี่ยนแปลง)
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");
}
}
การคัดลอกคุณสมบัติเบื้องต้นโดยแท็ก
หากต้องการคัดลอกเฉพาะชนิดของเมตาดาทาบางอย่าง เช่น ชื่อผู้เขียนหรือวันที่สร้าง CopyTo สามารถใช้คัดกรองด้วยอิมพลิเมนต์ได้ ตัวอย่างต่อไปนี้จะแสดงการคัดลอกเมตาดาทาที่เกี่ยวกับผู้เขียนหรือวันที่สร้างเท่านั้น
ขั้นตอน
- โหลดไฟล์ต้นฉบับและไฟล์เป้าหมายโดยใช้คลาส
Metadata - ใช้เมธอด
CopyToเพื่อถ่ายโอนเมตาดาทาจากต้นฉบับไปยังเป้าหมาย - บันทึกไฟล์เป้าหมายเพื่อให้การคัดลอกมีผล
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();
}
การอัปเดตคุณสมบัติเบื้องต้นโดยแท็ก
นอกเหนือจากการเพิ่มเมตาดาทาใหม่แล้ว คุณมักต้องอัปเดตค่าเมตาดาทาที่มีอยู่ (เช่น แก้ไขชื่อผู้เขียนหรือปรับรูปแบบวันที่) GroupDocs.Metadata มีเมธอด SetProperties() สำหรับกรณีนี้ โดยใช้แท็กเพื่อค้นหาคุณสมบัติเป้าหมายและอัปเดตค่า หากพบว่าคุณสมบัติที่ต้องการไม่มีอยู่ SetProperties สามารถเพิ่มให้ได้ ทำให้ขั้นตอนการอัปเดตและเพิ่มทำในขั้นตอนเดียว
ขั้นตอน
- โหลดไฟล์เข้าสู่วัตถุ
Metadata - เรียก
SetProperties()พร้อมฟิลเตอร์ตามแท็กและค่าPropertyValueใหม่ - ตรวจสอบจำนวนคุณสมบัติที่ได้รับผลกระทบ (อัปเดตหรือเพิ่ม)
- บันทึกไฟล์หากต้องการ
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");
}
การลบเมตาดาทาตามแท็ก
เพื่อเหตุผลด้านความเป็นส่วนตัวหรือการปฏิบัติตามกฎระเบียบ คุณอาจต้องลบเมตาดาทาบางอย่าง (เช่น ชื่อผู้เขียนหรือข้อมูลส่วนบุคคล) แท็กทำให้คุณสามารถเลือกและลบเมตาดาทานั้นได้ง่ายในหลายรูปแบบ RemoveProperties() รับอิมพลิเมนต์เช่นเดียวกับเมธอดอื่น ๆ และจะลบรายการเมตาดาทาที่ตรงกันทั้งหมด
ขั้นตอน
- โหลดไฟล์เข้าสู่วัตถุ
Metadata - เรียก
RemoveProperties()พร้อมอิมพลิเมนต์ที่กำหนดแท็กสำหรับคุณสมบัติที่ต้องการลบ - ตรวจสอบจำนวนคุณสมบัติที่ลบได้จากค่าที่คืนกลับ
- บันทึกไฟล์เพื่อให้การลบมีผล
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");
}
สรุปผล
บทความนี้ได้สาธิตว่า ฟีเจอร์แท็กของ GroupDocs.Metadata สำหรับ .NET ช่วยให้คุณสามารถเพิ่ม, คัดลอก, ค้นหา, อัปเดตและลบเมตาดาทาได้อย่างเป็นระบบในหลายประเภทเอกสาร ด้วยการใช้แท็กเช่น Content, Person, Time เป็นต้น คุณสามารถสร้างเวิร์กโฟลว์ที่จัดระเบียบไฟล์ด้วยเมตาดาทาที่สอดคล้องกัน เพิ่มประสิทธิภาพการค้นหา (เช่น ค้นหาไฟล์ทั้งหมดตามผู้เขียนหรือวันที่) และทำให้การจัดประเภทหรือทำความสะอาดเอกสารเป็นอัตโนมัติได้ง่ายขึ้น
ดูเพิ่มเติม
- เอกสาร GroupDocs.Metadata สำหรับ .NET
- ภาพรวมผลิตภัณฑ์ GroupDocs.Metadata สำหรับ .NET
- ตัวอย่างบน GitHub ของ GroupDocs.Metadata สำหรับ .NET
- บันทึกการปล่อยเวอร์ชันของ GroupDocs.Metadata สำหรับ .NET
รับการทดลองใช้งานฟรี
คุณสามารถดาวน์โหลดรุ่นทดลองใช้งานฟรีของ GroupDocs.Metadata สำหรับ .NET ได้จาก releases.groupdocs.com นอกจากนี้คุณยังสามารถขอรับลิขสิทธิ์ชั่วคราวเพื่อทดลองทุกฟีเจอร์และฟังก์ชันโดยไม่จำกัดได้จาก ที่นี่.