สารบัญ

ภาพรวม

การจัดการข้อมูลเมตาดาทาของเอกสารในรูปแบบไฟล์ต่าง ๆ อาจเป็นเรื่องท้าทาย GroupDocs.Metadata สำหรับ .NET ทำให้กระบวนการนี้ง่ายขึ้นด้วยระบบแท็กที่ทำให้คุณสมบัติเบื้องต้นของเมตาดาทา (เช่น ชื่อเรื่อง, ผู้เขียน, วันที่สร้าง) ถูกจัดอยู่ในแท็กเดียวกัน ในคู่มือวิธีใช้นี้ เราจะสำรวจวิธีค้นหา, เพิ่ม, คัดลอก, ปรับปรุงและลบข้อมูลเมตาดาทาโดยใช้แท็กกับ GroupDocs.Metadata สำหรับ .NET

GroupDocs.Metadata ใช้แท็กเพื่อระบุคุณสมบัติเพิ่มเติมของข้อมูลเมตาดาทาในไฟล์ ไม่ว่ารูปแบบหรือมาตรฐานเมตาดาทาใดๆ สำหรับแต่ละแท็กจะอยู่ในประเภทรูปแบบที่จัดกลุ่มแท็กที่สัมพันธ์กันเพื่อให้ง่ายต่อการค้นพบ
ตัวอย่างเช่น:

  • แท็กเนื้อหา (Content Tags): อธิบายเนื้อหาของไฟล์ (เช่น ภาษา, ประเภท, หัวข้อ, การให้คะแนน)
  • แท็กบุคคล (Person Tags): ระบุตัวบุคคลหรือองค์กรที่เกี่ยวข้องกับเนื้อหา (เช่น ผู้สร้างเอกสาร, ผู้แก้ไข, บริษัท)
  • แท็กเวลา (Time Tags): แสดงค่าเวลาต่าง ๆ ในวงจรชีวิตของไฟล์ (เช่น วันที่สร้าง, เวลาที่แก้ไขล่าสุด, วันที่พิมพ์)
    (ประเภทอื่น ๆ ได้แก่ Legal, Origin, Tool ฯลฯ โดยแต่ละประเภทจะรวมแท็กที่เกี่ยวข้อง)

ด้วยแท็กเหล่านี้ คุณสามารถค้นหาและจัดการเมตาดาทาในรูปแบบเดียวกันบนเอกสาร Word, PDF, รูปภาพและอื่น ๆ อีกมากมาย
เช่น แท็ก “Author” หรือ “Creator” ในประเภท Person จะตรงกับคุณสมบัติผู้เขียนในเอกสาร Word หรือ PDF โดยไม่จำเป็นต้องรู้ชื่อฟิลด์เมตาดาทาเฉพาะของแต่ละรูปแบบ ทำให้แท็กเป็นเครื่องมือที่มีประโยชน์อย่างยิ่งสำหรับการจัดระเบียบไฟล์และอัตโนมัติกระบวนการจัดการเมตาดาทา

กรณีการใช้งาน

ในส่วนนี้ เราจะนำเสนอกรณีการใช้งานที่แสดงให้เห็นถึงการประยุกต์ใช้ในทางปฏิบัติ

ค้นหาคุณสมบัติเมมตาดาต้าโดยแท็ก

กรณีการใช้งานที่พบบ่อยคือการค้นหารายการเมตาดาทาในไฟล์โดยอ้างอิงจากแท็ก ซึ่งช่วยเพิ่มความสามารถในการค้นหา – คุณสามารถดึงข้อมูลเฉพาะจากเอกสารใด ๆ โดยไม่ต้องกังวลเรื่องรูปแบบไฟล์

ขั้นตอน

  1. โหลดไฟล์เข้าสู่วัตถุ Metadata
  2. ค้นหาคุณสมบัติด้วย FindProperties() พร้อมอิมพลิเมนต์แบบกำหนดแท็ก คุณสามารถกรองโดยแท็กเฉพาะหรือประเภททั้งหมด
  3. วนลูปผลลัพธ์เพื่อตรวจสอบหรือใช้เมตาดาทา
// 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 จะวางค่าไว้ในแพ็กเกจเมตาดาทาที่เหมาะสม หากรูปแบบไฟล์รองรับ

ขั้นตอน

  1. โหลดไฟล์เข้าสู่วัตถุ Metadata
  2. เรียก AddProperties() พร้อมอิมพลิเมนต์เพื่อระบุที่ต้องเพิ่มและให้ค่าคุณสมบัติใหม่
  3. ตรวจสอบค่าที่คืนกลับเพื่อดูจำนวนคุณสมบัติที่เพิ่ม
  4. บันทึกเอกสาร (หากต้องการบันทึกการเปลี่ยนแปลง)
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 สามารถใช้คัดกรองด้วยอิมพลิเมนต์ได้ ตัวอย่างต่อไปนี้จะแสดงการคัดลอกเมตาดาทาที่เกี่ยวกับผู้เขียนหรือวันที่สร้างเท่านั้น

ขั้นตอน

  1. โหลดไฟล์ต้นฉบับและไฟล์เป้าหมายโดยใช้คลาส Metadata
  2. ใช้เมธอด CopyTo เพื่อถ่ายโอนเมตาดาทาจากต้นฉบับไปยังเป้าหมาย
  3. บันทึกไฟล์เป้าหมายเพื่อให้การคัดลอกมีผล
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 สามารถเพิ่มให้ได้ ทำให้ขั้นตอนการอัปเดตและเพิ่มทำในขั้นตอนเดียว

ขั้นตอน

  1. โหลดไฟล์เข้าสู่วัตถุ Metadata
  2. เรียก SetProperties() พร้อมฟิลเตอร์ตามแท็กและค่า PropertyValue ใหม่
  3. ตรวจสอบจำนวนคุณสมบัติที่ได้รับผลกระทบ (อัปเดตหรือเพิ่ม)
  4. บันทึกไฟล์หากต้องการ
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() รับอิมพลิเมนต์เช่นเดียวกับเมธอดอื่น ๆ และจะลบรายการเมตาดาทาที่ตรงกันทั้งหมด

ขั้นตอน

  1. โหลดไฟล์เข้าสู่วัตถุ Metadata
  2. เรียก RemoveProperties() พร้อมอิมพลิเมนต์ที่กำหนดแท็กสำหรับคุณสมบัติที่ต้องการลบ
  3. ตรวจสอบจำนวนคุณสมบัติที่ลบได้จากค่าที่คืนกลับ
  4. บันทึกไฟล์เพื่อให้การลบมีผล
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 ได้จาก releases.groupdocs.com นอกจากนี้คุณยังสามารถขอรับลิขสิทธิ์ชั่วคราวเพื่อทดลองทุกฟีเจอร์และฟังก์ชันโดยไม่จำกัดได้จาก ที่นี่.