Table of contents
Overview
إدارة بيانات التعريف (metadata) للوثائق عبر صيغ ملفات متعددة يمكن أن تكون صعبة. تُبسّط GroupDocs.Metadata for .NET هذه العملية من خلال توفير نظام وسوم لتوحيد خصائص البيانات الشائعة (مثل العنوان، المؤلف، تاريخ الإنشاء) تحت وسوم. في هذا الدليل الإرشادي، سنستكشف كيفية العثور على البيانات، إضافتها، نسخها، تحديثها، وإزالتها باستخدام الوسوم مع GroupDocs.Metadata for .NET.
تستخدم GroupDocs.Metadata الوسوم لتصنيف خصائص البيانات المهمة في ملف، بغض النظر عن صيغة المستند أو معيار البيانات. كل وسم ينتمي إلى فئة تُجَمّع الوسوم ذات الصلة لتسهيل اكتشافها.
على سبيل المثال:
وسوم المحتوى: تصف محتوى الملف (مثل اللغة، النوع، الموضوع، التقييم)
وسوم الأشخاص: تُحدِّد الأشخاص أو المؤسسات المرتبطة بالمحتوى (مثل مؤلف المستند، المحرر، الشركة)
وسوم الوقت: تمثِّل الطوابع الزمنية في دورة حياة الملف (مثل تاريخ الإنشاء، تاريخ آخر تعديل، تاريخ الطباعة)
(الفئات الأخرى تشمل القانونية، الأصل، الأدوات، إلخ، كل منها يجمع وسومًا ذات صلة.)
باستخدام هذه الوسوم، يمكنك البحث عن البيانات ومعالجتها بطريقة موحدة عبر مستندات Word، ملفات PDF، الصور، وأكثر.
على سبيل المثال، سيطابق وسم “المؤلف” أو “المنشئ” في فئة الشخص خاصية المؤلف في مستند Word أو PDF دون الحاجة لمعرفة اسم حقل البيانات الخاص بالصِيغة. هذا يجعل الوسوم مفيدة جدًا لتنظيم الملفات وأتمتة مهام إدارة البيانات.
Use Cases
في هذا القسم، سنقدم حالات استخدام مختلفة تُظهر التطبيقات العملية.
Find Metadata Properties by Tag
حالة الاستخدام الشائعة هي العثور على إدخالات البيانات في ملف باستخدام وسمها. هذا مفيد بشكل خاص لتحسين قابلية البحث – يمكنك جلب معلومات محددة من أي مستند دون القلق بشأن صيغته.
Steps
- تحميل الملف في كائن
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}");
}
}
Adding Metadata Properties by Tag
أحيانًا قد يفتقد الملف بعض بيانات التعريف (مثل عدم وجود “تاريخ الطباعة الأخير”). باستخدام GroupDocs.Metadata، يمكنك إضافة خاصية بيانات عبر تحديد وسم، وستضع الـ API الخاصية في الحزمة المناسبة إذا كانت الصيغة تدعم ذلك.
Steps
- تحميل الملف في كائن
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");
}
}
Copy Metadata Properties by Tag
في بعض الأحيان ترغب في نسخ نوع محدد فقط من البيانات، مثل أسماء المؤلفين أو تواريخ الإنشاء. تسمح طريقة CopyTo باستخدام شرط لتصفية الخصائص التي سيتم نسخها. إليك كيفية نسخ البيانات المتعلقة بالمؤلفين أو تواريخ الإنشاء فقط:
Steps
- تحميل كل من الملف المصدر والملف الهدف باستخدام فئة
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();
}
Updating Metadata Properties by Tag
إلى جانب إضافة بيانات جديدة، غالبًا ما تحتاج إلى تحديث قيم البيانات الموجودة (مثل تصحيح اسم مؤلف أو توحيد التواريخ). توفر GroupDocs.Metadata طريقة SetProperties() لهذا الغرض. تستخدم الوسوم لتحديد الخصائص المستهدفة وتحديث قيمها. إذا كانت الخاصية المستهدفة غير موجودة، يمكن لـ SetProperties إضافتها – مما يجمع بين التحديث والإضافة في خطوة واحدة.
Steps
- تحميل الملف في كائن
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");
}
Removing Metadata by Tag
لأسباب الخصوصية أو الامتثال، قد تحتاج إلى إزالة بعض البيانات (مثل أسماء المؤلفين أو المعلومات الشخصية) من المستندات. تجعل الوسوم العملية سهلة لتحديد وإزالة هذه البيانات عبر صيغ مختلفة. تقبل طريقة RemoveProperties() شرطًا مشابهًا للآخرين، وستزيل أي مدخلات بيانات مطابقة.
Steps
- تحميل الملف في كائن
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");
}
Conclusion
في هذه المقالة، أظهرنا كيف تسمح ميزة الوسوم في GroupDocs.Metadata for .NET لك بإضافة، نسخ، العثور، تحديث، وإزالة بيانات التعريف بطريقة موحدة عبر أنواع مستندات متعددة. من خلال الاستفادة من وسوم مثل المحتوى، الأشخاص، الوقت، إلخ، يمكنك بناء تدفقات عمل تنظم الملفات ببيانات تعريف متسقة، تحسّن قابلية البحث (العثور على جميع الملفات بحسب المؤلف أو التاريخ، على سبيل المثال)، وتُ automatis تُصنيف الوثائق أو تنظيفها.
See Also
- GroupDocs.Metadata for .NET Documentation
- GroupDocs.Metadata for .NET Product Overview
- GroupDocs.Metadata for .NET GitHub Examples
- GroupDocs.Metadata for .NET Release Notes
Get a free trial
يمكنك تنزيل نسخة تجريبية مجانية من GroupDocs.Metadata for .NET من releases.groupdocs.com. يمكنك أيضًا الحصول على ترخيص مؤقت لتجربة جميع الميزات والوظائف بدون قيود من هنا.