תוכן העניינים
סקירה
ניהול מטא‑נתוני מסמכים במגוון פורמטים של קבצים יכולה להיות מאתגרת. GroupDocs.Metadata עבור .NET מפשט זאת על‑ידי מערכת תיוג המאחדת תכונות מטא‑נתונים נפוצות (למשל כותרת, מחבר, תאריך יצירה) תחת תגים. במדריך זה נחקור כיצד למצוא, להוסיף, להעתיק, לעדכן ולהסיר מטא‑נתונים באמצעות תגים עם GroupDocs.Metadata עבור .NET.
GroupDocs.Metadata משתמש בתגים כדי לתייג תכונות מטא‑נתונים חשובות בקובץ, ללא תלות בפורמט המסמך או בתקן המטא‑נתונים שלו. כל תו שייך לקטגוריה שמקבצת תגים קשורים לצורך גילוי נוח יותר.
לדוגמה:
תייגי תוכן: מתארים את תוכן הקובץ (למשל שפה, ז’אנר, נושא, דירוג)
תייגי איש: מזהים אנשים או ארגונים הקשורים לתוכן (למשל יוצר המסמך, עורך, חברה)
תייגי זמן: מייצגים חותמות זמן במחזור החיים של הקובץ (למשל תאריך יצירה, זמן שינוי אחרון, תאריך הדפסה)
(קטגוריות אחרות כוללות 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}");
}
}
הוספת תכונות מטא‑נתונים לפי תו
לפעמים קובץ חסר מטא‑נתון מסוים (לדוגמה אין רשומת “Last Printed Date”). באמצעות 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");
}
}
כאן אנו משתמשים ב‑Tags.Time.Printed – התו עבור תאריך “Printed” בקטגוריית Time. התנאי p.Tags.Contains(Tags.Time.Printed) מכוונן לתכונת המטא‑נתון המוכרת “Printed”. אם התכונה חסרה, AddProperties יוסיף אותה עם הערך שסופק (DateTime.Now במקרה זה). המתודה מחזירה את מספר התכונות שהתווספו, ואנו מציגים אותו. לבסוף, אנו שומרים את הקובץ כדי לשמר את המטא‑נתונים החדשים.
העתקת תכונות מטא‑נתונים לפי תו
לעיתים תרצה להעתיק רק סוגים מסוימים של מטא‑נתונים, כגון שמות מחברים או תאריכי יצירה. המתודה 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();
}
בדוגמה זו, רק מטא‑נתונים עם תגים עבור Creator (שם המחבר) ו‑Created Date יועתקו מקובץ ה‑Excel (source.xlsx) אל מצגת ה‑PowerPoint (target.pptx). העתקה סלקטיבית זו מעניקה שליטה מדויקת על המטא‑נתונים, ומקילה על ווידוא שהמסמכים שלך מכילים בדיוק את המידע הרצוי.
עדכון תכונות מטא‑נתונים לפי תו
מעבר להוספת מטא‑נתונים חדשים, פעמים רבות יש צורך לעדכן ערכי מטא‑נתונים קיימים (למשל, תיקון שם מחבר או אימות תאריכים). 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");
}
במתנה, Tags.Time.Created ו‑Tags.Time.Modified הם תגים עבור תאריך היצירה ותאריך השינוי האחרון, בהתאמה. הקוד יאתר כל תכונת מטא‑נתון המסומנת באחד מהתיוגים האלו ויקבע לה ערך DateTime.Now. אם, לדוגמה, תכונת Created לא הייתה קיימת במטא‑נתוני הקובץ, הספרייה תוסיף אותה (מאחר שהיא תכונה סטנדרטית ידועה עבור פורמט זה).
הסרת מטא‑נתונים לפי תו
לצורכי פרטיות או עמידה בתקנות, ייתכן ויהיה צורך להסיר מטא‑נתונים מסוימים (למשל שמות מחברים או מידע אישי) ממסמכים. תגים מקלים על מיקוד והסרת מטא‑נתונים כאלה במגוון פורמטים. המתודה 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");
}
תנאי זה משלב כמה קריטריונים: כל תכונה המסומנת כ‑Creator או Editor (שתיהן בקטגוריית Person) תוסרו, ובנוסף כל מטא‑נתון מסוג מחרוזת המכיל את המילה “John” בערכו יוסר. במצב מעשי, ניתן להשתמש בלוגיקה כזו לניקוי מסמכים ממידע אישי (כגון שמות מחברים או שמות לקוחות).
סיכום
במאמר זה הצגנו כיצד תכונת התיוג של 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. ניתן גם לקבל רישיון זמני כדי לנסות את כל הפיצ’רים והפונקציות ללא מגבלות מ-כאן.