Inhaltsverzeichnis
Übersicht
Das Verwalten von Dokumenten‑Metadaten über verschiedene Dateiformate hinweg kann herausfordernd sein. GroupDocs.Metadata für .NET vereinfacht dies, indem es ein Tagging‑System bereitstellt, das gängige Metadaten‑Eigenschaften (z. B. Titel, Autor, Erstellungsdatum) unter Tags vereinheitlicht. In diesem How‑to‑Leitfaden zeigen wir, wie man mithilfe von Tags mit GroupDocs.Metadata für .NET Metadaten findet, hinzufügt, kopiert, aktualisiert und entfernt.
GroupDocs.Metadata verwendet Tags, um wichtige Metadaten‑Eigenschaften in einer Datei zu kennzeichnen, unabhängig vom Format des Dokuments oder vom Metadatenstandard. Jeder Tag gehört zu einer Kategorie, die verwandte Tags gruppiert, um die Auffindbarkeit zu erleichtern.
Zum Beispiel:
Inhalts‑Tags: Beschreiben den Inhalt einer Datei (z. B. Sprache, Genre, Thema, Bewertung)
Personen‑Tags: Identifizieren Personen oder Organisationen, die mit dem Inhalt in Zusammenhang stehen (z. B. Dokumentersteller, Bearbeiter, Unternehmen)
Zeit‑Tags: Stellen Zeitstempel im Lebenszyklus einer Datei dar (z. B. Erstellungsdatum, zuletzt bearbeitet, Druckdatum)
(Weitere Kategorien umfassen Rechtlich, Herkunft, Werkzeug usw., die jeweils relevante Tags gruppieren.)
Mit diesen Tags können Sie Metadaten einheitlich durchsuchen und manipulieren – über Word‑Dokumente, PDFs, Bilder und mehr. Zum Beispiel stimmt ein „Autor“- oder Ersteller‑Tag in der Personen‑Kategorie mit der Autor‑Eigenschaft in einem Word‑Dokument oder einem PDF überein, ohne dass Sie den format‑spezifischen Metadatenfeldnamen kennen müssen. Das macht Tags äußerst nützlich für die Organisation von Dateien und die Automatisierung von Metadaten‑Verwaltungsaufgaben.
Anwendungsfälle
In diesem Abschnitt stellen wir verschiedene Anwendungsfälle vor, die die praktischen Einsatzmöglichkeiten hervorheben.
Metadateneigenschaften nach Tag finden
Ein häufiger Anwendungsfall ist das Finden von Metadaten‑Einträgen in einer Datei anhand ihres Tags. Dies ist besonders hilfreich, um die Durchsuchbarkeit zu verbessern – Sie können spezifische Informationen aus jedem Dokument abrufen, ohne sich um dessen Format kümmern zu müssen.
Schritte
- Laden Sie die Datei in ein
Metadata‑Objekt. - Suchen Sie Eigenschaften mit
FindProperties()unter Verwendung eines tagbasierten Prädikats. Sie können nach einem bestimmten Tag oder einer ganzen Kategorie filtern. - Iterieren Sie über die Ergebnisse, um die Metadaten zu inspizieren oder zu verwenden.
// 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}");
}
}
Metadateneigenschaften per Tag hinzufügen
Manchmal fehlen in einer Datei bestimmte Metadaten (z. B. kein „Zuletzt gedrucktes Datum“). Mit GroupDocs.Metadata können Sie eine Metadateneigenschaft hinzufügen, indem Sie einen Tag angeben, und die API legt sie im entsprechenden Metadaten‑Paket ab, sofern das Format dies unterstützt.
Schritte
- Laden Sie die Datei in ein
Metadata‑Objekt. - Rufen Sie
AddProperties()mit einem Prädikat auf, das bestimmt, wo hinzugefügt werden soll, und übergeben Sie den neuen Eigenschaftswert. - Prüfen Sie den Rückgabewert, um zu sehen, wie viele Eigenschaften hinzugefügt wurden.
- Speichern Sie das Dokument (falls die Änderungen persistiert werden sollen).
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");
}
}
Hier verwenden wir Tags.Time.Printed – den Tag für das „Gedruckt“-Datum in der Zeit‑Kategorie. Das Prädikat p.Tags.Contains(Tags.Time.Printed) zielt auf die bekannte gedruckte Metadateneigenschaft ab. Wenn die Eigenschaft fehlt, fügt AddProperties sie mit dem von uns bereitgestellten Wert hinzu (in diesem Fall DateTime.Now). Die Methode gibt die Anzahl der hinzugefügten Eigenschaften zurück (affected), die wir ausgeben. Abschließend speichern wir die Datei, um die neuen Metadaten zu übernehmen.
Metadateneigenschaften per Tag kopieren
Manchmal möchten Sie nur bestimmte Arten von Metadaten kopieren, z. B. Autorennamen oder Erstellungsdaten. Die Methode CopyTo ermöglicht es, ein Prädikat zu verwenden, um die zu kopierenden Eigenschaften zu filtern. So kopieren Sie nur Metadaten, die sich auf Autoren oder Erstellungsdaten beziehen:
Schritte
- Laden Sie sowohl die Quell‑ als auch die Zieldatei mit der
Metadata‑Klasse. - Verwenden Sie die
CopyTo‑Methode, um Metadaten von der Quelle zur Zieldatei zu übertragen. - Speichern Sie die Zieldatei, um die kopierten Metadaten anzuwenden.
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();
}
In diesem Beispiel werden nur Metadaten mit Tags für Ersteller (Autorname) und Erstellungsdatum von der Excel‑Datei (source.xlsx) zur PowerPoint‑Präsentation (target.pptx) kopiert. Dieses selektive Kopieren gibt Ihnen präzise Kontrolle über Ihre Metadaten und erleichtert es, sicherzustellen, dass Ihre Dokumente exakt die gewünschten Metadaten enthalten.
Metadateneigenschaften per Tag aktualisieren
Über das Hinzufügen neuer Metadaten hinaus müssen Sie häufig vorhandene Metadatenwerte aktualisieren (z. B. einen Autorennamen korrigieren oder Daten standardisieren). GroupDocs.Metadata stellt dafür die Methode SetProperties() bereit. Sie verwendet Tags, um die Ziel‑Eigenschaften zu finden und deren Werte zu aktualisieren. Fehlt eine gezielte Eigenschaft, kann SetProperties sie hinzufügen – sodass Aktualisieren und Hinzufügen in einem Schritt kombiniert werden.
Schritte
- Laden Sie die Datei in ein
Metadata‑Objekt. - Rufen Sie
SetProperties()mit einem tagbasierten Filter und dem neuenPropertyValueauf. - Prüfen Sie die zurückgegebene Anzahl betroffener Eigenschaften (aktualisiert oder hinzugefügt).
- Speichern Sie die Änderungen, falls erforderlich.
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");
}
Im Prädikat sind Tags.Time.Created und Tags.Time.Modified die Tags für das Erstellungs‑ bzw. das letzte Änderungsdatum. Der Code findet alle Metadaten‑Eigenschaften, die mit einem dieser Tags markiert sind, und setzt sie auf DateTime.Now. Sollte beispielsweise eine Erstellungsdatumeigenschaft im Metadaten‑Set der Datei fehlen, fügt die Bibliothek sie hinzu (da es sich um eine bekannte Standard‑Eigenschaft für dieses Format handelt).
Metadaten per Tag entfernen
Aus Datenschutz‑ oder Compliance‑Gründen müssen Sie möglicherweise bestimmte Metadaten (z. B. Autorennamen oder persönliche Informationen) aus Dokumenten entfernen. Tags erleichtern das gezielte Entfernen solcher Metadaten über verschiedene Formate hinweg. Die Methode RemoveProperties() akzeptiert ein Prädikat wie die vorherigen und entfernt alle passenden Metadaten‑Einträge.
Schritte
- Laden Sie die Datei in ein
Metadata‑Objekt. - Rufen Sie
RemoveProperties()mit einem tagbasierten Prädikat auf, das die zu entfernenden Eigenschaften definiert. - Überprüfen Sie die Anzahl der entfernten Eigenschaften, die von der Methode zurückgegeben wird.
- Speichern Sie die Datei, um die Änderungen anzuwenden.
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");
}
Dieses Prädikat kombiniert mehrere Kriterien: Jede Eigenschaft, die als Ersteller oder Bearbeiter (beide in der Personen‑Kategorie) getaggt ist, wird entfernt, und zusätzlich werden alle String‑Metadaten, deren Wert „John“ enthält, gelöscht. In einer realen Situation könnte man eine solche Logik nutzen, um Dokumente von persönlichen Daten (wie Autorennamen oder Kundennamen) zu bereinigen.
Fazit
In diesem Artikel haben wir gezeigt, wie das Tagging‑Feature von GroupDocs.Metadata für .NET es ermöglicht, Metadaten einheitlich zu hinzufügen, zu kopieren, zu finden, zu aktualisieren und zu entfernen – über zahlreiche Dokumenttypen hinweg. Durch die Nutzung von Tags wie Inhalt, Person, Zeit usw. können Sie Workflows erstellen, die Dateien anhand konsistenter Metadaten organisieren, die Durchsuchbarkeit verbessern (z. B. alle Dateien nach Autor oder Datum finden) und die Dokumentkategorisierung oder -bereinigung automatisieren.
Siehe auch
- GroupDocs.Metadata für .NET Dokumentation
- GroupDocs.Metadata für .NET Produktübersicht
- GroupDocs.Metadata für .NET GitHub‑Beispiele
- GroupDocs.Metadata für .NET Versionshinweise
Kostenlose Testversion
Sie können eine kostenlose Testversion von GroupDocs.Metadata für .NET von releases.groupdocs.com herunterladen. Sie können außerdem eine temporäre Lizenz erwerben, um alle Funktionen und Möglichkeiten uneingeschränkt auszuprobieren, über hier.