
ข้อมูลเมตา Extensible Metadata Platform (XMP) จะถูกเข้ารหัสเป็นข้อความที่จัดรูปแบบ XML โมเดลข้อมูล XMP ที่กำหนดสามารถใช้เพื่อจัดเก็บชุดคุณสมบัติเมทาดาทาใดๆ ในรูปแบบของคู่ชื่อ/ค่า คุณสามารถเพิ่มแพ็คเกจข้อมูลเมตา XMP แบบกำหนดเองให้กับรูปภาพของคุณโดยทางโปรแกรม ในบทความนี้ คุณจะได้เรียนรู้วิธีเพิ่มหรือลบข้อมูลเมตา XMP ที่กำหนดเองจาก GIF โดยใช้ C#
หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:
- C# API สำหรับการเพิ่มหรือลบข้อมูลเมตา XMP
- เพิ่มแพ็คเกจข้อมูลเมตา XMP ที่กำหนดเองลงใน GIF โดยใช้ C#
- อ่านคุณสมบัติแพ็คเกจข้อมูลเมตา XMP แบบกำหนดเองโดยใช้ C#
- ลบแพ็คเกจข้อมูลเมตา XMP ที่กำหนดเองโดยใช้ C#
C# API สำหรับการเพิ่มหรือลบข้อมูลเมตา XMP
ฉันจะใช้ GroupDocs.Metadata for .NET API สำหรับการเพิ่มหรือลบแพ็คเกจข้อมูลเมตา XMP ที่กำหนดเอง ช่วยให้คุณสามารถเพิ่ม แก้ไข ดึงข้อมูล และลบคุณสมบัติเมทาดาทาออกจากเอกสารและรูปแบบไฟล์รูปภาพได้ API ทำงานร่วมกับมาตรฐานเมตาดาต้าที่โดดเด่นที่สุด เช่น คุณสมบัติในตัว, XMP, EXIF, IPTC, บล็อกทรัพยากรรูปภาพ, ID3 และคุณสมบัติเมทาดาทาที่กำหนดเอง สามารถใช้ในการพัฒนาแอปพลิเคชันในสภาพแวดล้อมการพัฒนาใดๆ ที่กำหนดเป้าหมายแพลตฟอร์ม .NET
คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
Install-Package GroupDocs.Metadata
เพิ่มแพ็คเกจข้อมูลเมตา XMP ที่กำหนดเองลงใน GIF โดยใช้ C#
คุณสามารถสร้างและเพิ่มแพ็คเกจ XMP แบบกำหนดเองเต็มรูปแบบที่มีคุณสมบัติที่ผู้ใช้กำหนดได้อย่างง่ายดายโดยทำตามขั้นตอนง่ายๆ ด้านล่างนี้:
- สร้างอินสแตนซ์ของคลาส Metadata
- ระบุเส้นทางของภาพ GIF
- รับ RootPackage as IXmp standard
- สร้างอินสแตนซ์ของคลาส XmpPackage
- จัดเตรียมคำนำหน้าแพ็กเกจและ NamespaceUri
- ตั้งค่าคุณสมบัติในคู่ชื่อ/ค่าโดยใช้วิธี Set
- สร้างอินสแตนซ์ของคลาส XmpPacketWrapper
- เรียกเมธอด AddPackage และส่งผ่าน XmpPackage ที่สร้างขึ้น
- กำหนด XmpPacketWrapper ที่สร้างขึ้นให้กับ IXMp XmpPackage
- บันทึกไฟล์เอาต์พุตโดยใช้เมธอด Metadata.Save
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างและเพิ่มแพ็คเกจข้อมูลเมตา XMP แบบกำหนดเองให้กับรูปภาพ GIF โดยใช้ C#
using (Metadata metadata = new Metadata(@"C:\Files\xmp.gif")) {
IXmp root = (IXmp)metadata.GetRootPackage();
XmpPacketWrapper packet = new XmpPacketWrapper();
XmpPackage custom = new XmpPackage("gd", "https://groupdocs.com");
custom.Set("gd:Copyright", "Copyright (C) 2021 GroupDocs. All Rights Reserved.");
custom.Set("gd:CreationDate", DateTime.Now.ToString());
custom.Set("gd:Company", XmpArray.From(new String[] { "Aspose", "GroupDocs" }, XmpArrayType.Ordered));
packet.AddPackage(custom);
root.XmpPackage = packet;
metadata.Save(@"C:\Files\xmp_output.gif");
}
ตัวอย่างโค้ดด้านบนจะต้องเพิ่มแพ็คเกจข้อมูลเมตา XMP ให้กับรูปภาพอินพุต ExifTool อ่านข้อมูลเมตาต่อไปนี้จากอิมเมจ GIF เอาต์พุตที่สร้างขึ้น

เพิ่มแพ็คเกจข้อมูลเมตา XMP ให้กับ GIF โดยใช้ C#
อินเทอร์เฟซ IXMP เปิดเผยคุณสมบัติ XmpPackage{.brokenlink} เพื่อรับหรือตั้งค่าแพ็คเกจข้อมูลเมตา XMP
คลาสข้อมูลเมตาจัดเตรียมเมธอด GetRootPackage เพื่อรับแพ็คเกจรูทที่ให้การเข้าถึงคุณสมบัติเมทาดาทาทั้งหมดที่แยกมาจากไฟล์
คลาส XmpPackage มีคุณสมบัติต่างๆ เพื่อกำหนดแพ็คเกจ เช่น Prefix, NamespaceUri และ Keys คลาสนี้ยังมีวิธี Set เพื่อตั้งชื่อ/ค่าสำหรับคุณสมบัติเมทาดาทาที่ผู้ใช้กำหนด
คลาส XmpPacketWrapper มีแพ็คเกจ XMP ที่ทำให้เป็นอนุกรม วิธีการ AddPackage ของคลาสนี้อนุญาตให้เพิ่มแพ็คเกจแบบกำหนดเองที่กำหนดไว้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ “การทำงานกับข้อมูลเมตา XMP” ได้ในเอกสารประกอบ
อ่านคุณสมบัติเมตาดาต้าแพ็คเกจ XMP แบบกำหนดเองโดยใช้ C#
คุณสามารถอ่านคุณสมบัติที่ผู้ใช้กำหนดของแพ็คเกจ XMP แบบกำหนดเองทั้งหมดได้อย่างง่ายดายโดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Metadata
- ระบุเส้นทางของภาพ GIF
- รับ RootPackage as IXmp standard
- รับแพ็คเกจทั้งหมดทีละแพ็คเกจจาก IXmp.XmpPackage.Packages
- รับ NamespaceUri และคำนำหน้าสำหรับแต่ละแพ็คเกจ
- เรียก FindProperties สำหรับแต่ละแพ็คเกจคีย์เพื่อรับชื่อคุณสมบัติและค่า
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านคุณสมบัติทั้งหมดที่กำหนดไว้ในแพ็คเกจ XMP แบบกำหนดเองโดยใช้ C#
string file = @"C:\Files\xmp_output.gif";
using (Metadata metadata = new Metadata(file))
{
IXmp root = (IXmp)metadata.GetRootPackage();
if (root.XmpPackage != null)
{
foreach (var package in root.XmpPackage.Packages)
{
Console.WriteLine(package.NamespaceUri);
Console.WriteLine(package.Prefix);
foreach(var keys in package.Keys)
{
var property = package.FindProperties(p => p.Name == keys).FirstOrDefault();
Console.WriteLine(property.Name + " : " + property.Value);
}
}
}
}
ตัวอย่างโค้ดข้างต้นจะต้องสร้างผลลัพธ์ต่อไปนี้:
https://groupdocs.com
gd
gd:Copyright: Copyright (C) 2021 GroupDocs. All Rights Reserved.
gd:CreationDate: 04/05/2021 2:26:17 am
gd:Company: <rdf:Seq><rdf:li>Aspose</rdf:li><rdf:li>GroupDocs</rdf:li></rdf:Seq>
เมธอด FindProperties ของคลาส XmpPackage ค้นหาซ้ำ ๆ และค้นหาคุณสมบัติเมทาดาทาที่ตรงกับเพรดิเคตที่ระบุ
ลบแพ็คเกจ XMP แบบกำหนดเองโดยใช้ C#
คุณสามารถลบแพ็คเกจ XMP ออกจากรูปภาพ GIF ได้โดยทำตามขั้นตอนง่าย ๆ ที่ระบุไว้ด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Metadata
- ระบุเส้นทางของภาพ GIF
- รับ RootPackage as IXmp standard
- ตั้งค่า IXMp.XmpPackage เป็น null
- บันทึกไฟล์เอาต์พุตโดยใช้เมธอด Metadata.Save
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลบแพ็คเกจข้อมูลเมตา XMP ออกจากอิมเมจ GIF โดยใช้ C#
using (Metadata metadata = new Metadata(@"C:\Files\xmp_output.gif"))
{
IXmp root = (IXmp)metadata.GetRootPackage();
root.XmpPackage = null;
metadata.Save(@"C:\Files\xmp_output_Removed.gif");
}
ตัวอย่างโค้ดด้านบนจะต้องลบแพ็คเกจข้อมูลเมตา XMP ออกจากรูปภาพอินพุต ExifTool อ่านข้อมูลเมตาต่อไปนี้จากอิมเมจ GIF เอาต์พุตที่สร้างขึ้น

ลบแพ็คเกจข้อมูลเมตา XMP ออกจาก GIF โดยใช้ C#
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีเพิ่มหรือลบข้อมูลเมตาแพ็คเกจ XMP ที่กำหนดเองจากภาพ GIF โดยใช้ C# คุณยังได้เรียนรู้วิธีการอ่านคุณสมบัติแพ็คเกจ XMP โดยใช้ C# นอกจากนี้ คุณยังสามารถเรียนรู้เกี่ยวกับ GroupDocs.Metadata สำหรับ .NET API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม