Spis treści

Przegląd

Zarządzanie metadanymi dokumentów w różnych formatach plików może być wyzwaniem. GroupDocs.Metadata dla .NET upraszcza to, udostępniając system tagowania, który jednoczy wspólne właściwości metadanych (np. Tytuł, Autor, Data utworzenia) pod tagami. W tym poradniku pokażemy, jak znajdować, dodawać, kopiować, aktualizować i usuwać metadane przy użyciu tagów w GroupDocs.Metadata dla .NET.

GroupDocs.Metadata wykorzystuje tagi do oznaczania ważnych właściwości metadanych w pliku, niezależnie od formatu dokumentu czy standardu metadanych. Każdy tag należy do kategorii, która grupuje powiązane tagi w celu łatwiejszego odnajdywania.
Na przykład:
Tagi treści – opisują zawartość pliku (np. język, gatunek, temat, ocena)
Tagi osoby – identyfikują osoby lub organizacje związane z treścią (np. twórca dokumentu, redaktor, firma)
Tagi czasu – reprezentują znaczniki czasowe w cyklu życia pliku (np. data utworzenia, data ostatniej modyfikacji, data wydruku)
(Inne kategorie to m.in. Prawne, Pochodzenie, Narzędzie itp., każda grupująca odpowiednie tagi.)
Korzystając z tych tagów, możesz wyszukiwać i manipulować metadanymi w jednolity sposób w dokumentach Word, PDF, obrazach i nie tylko.
Na przykład tag „Autor” lub „Twórca” w kategorii Osoba będzie odpowiadał właściwości autora w dokumencie Word lub PDF, bez konieczności znajomości nazwy pola specyficznego dla danego formatu. Dzięki temu tagi są niezwykle przydatne do organizowania plików i automatyzacji zadań zarządzania metadanymi.

Przypadki użycia

W tej sekcji przedstawimy różne przypadki użycia, które podkreślają praktyczne zastosowania.

Znajdowanie właściwości metadanych według tagu

Typowy przypadek użycia to znajdowanie wpisów metadanych w pliku na podstawie ich tagu. Jest to szczególnie pomocne przy zwiększaniu możliwości wyszukiwania – możesz pobrać konkretną informację z dowolnego dokumentu, nie martwiąc się o jego format.

Kroki

  1. Załaduj plik do obiektu Metadata.
  2. Znajdź właściwości używając FindProperties() z predykatem opartym na tagach. Możesz filtrować po konkretnym tagu lub całej kategorii.
  3. Przejdź przez wyniki, aby przejrzeć lub wykorzystać metadane.
// 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}");
    }
}

Dodawanie właściwości metadanych według tagu

Czasami w pliku może brakować pewnych metadanych (np. nie ma zapisanego „Daty ostatniego wydruku”). Korzystając z GroupDocs.Metadata, możesz dodać właściwość metadanych, podając tag, a API umieści ją w odpowiednim pakiecie metadanych, jeśli format to obsługuje.

Kroki

  1. Załaduj plik do obiektu Metadata.
  2. Wywołaj AddProperties() z predykatem określającym, gdzie dodać, oraz przekaż nową wartość właściwości.
  3. Sprawdź zwróconą liczbę dodanych właściwości.
  4. Zapisz dokument (jeśli chcesz zachować zmiany).
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");
    }
}

Kopiowanie właściwości metadanych według tagu

Czasami chcesz skopiować tylko określone typy metadanych, takie jak nazwiska autorów lub daty utworzenia. Metoda CopyTo umożliwia użycie predykatu do filtrowania właściwości, które mają być skopiowane. Oto jak skopiować wyłącznie metadane związane z autorami lub datami utworzenia:

Kroki

  1. Załaduj zarówno plik źródłowy, jak i docelowy przy użyciu klasy Metadata.
  2. Użyj metody CopyTo, aby przenieść metadane ze źródła do celu.
  3. Zapisz plik docelowy, aby zastosować skopiowane metadane.
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();
}

Aktualizowanie właściwości metadanych według tagu

Poza dodawaniem nowych metadanych, często trzeba zaktualizować istniejące wartości (np. poprawić nazwisko autora lub ujednolicić daty). GroupDocs.Metadata udostępnia metodę SetProperties(). Używa ona tagów do znajdowania docelowych właściwości i aktualizuje ich wartości. Jeśli docelowa właściwość nie istnieje, SetProperties może ją dodać – łączy to aktualizację i dodawanie w jednym kroku.

Kroki

  1. Załaduj plik do obiektu Metadata.
  2. Wywołaj SetProperties() z filtrem opartym na tagach oraz nową wartością PropertyValue.
  3. Sprawdź zwróconą liczbę zmienionych właściwości (zaktualizowanych lub dodanych).
  4. Zapisz zmiany w pliku, jeśli to konieczne.
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");
}

Usuwanie metadanych według tagu

W celu ochrony prywatności lub zgodności, możesz potrzebować usunąć określone metadane (np. nazwiska autorów lub dane osobowe) z dokumentów. Tagowanie ułatwia celowanie i usuwanie takich metadanych w różnych formatach. Metoda RemoveProperties() przyjmuje predykat podobny do pozostałych i usuwa wszystkie pasujące wpisy.

Kroki

  1. Załaduj plik do obiektu Metadata.
  2. Wywołaj RemoveProperties() z predykatem opartym na tagach, identyfikującym właściwości do usunięcia.
  3. Przejrzyj liczbę usuniętych właściwości zwróconą przez metodę.
  4. Zapisz plik, aby zastosować zmiany.
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");
}

Wnioski

W tym artykule pokazaliśmy, jak funkcja tagowania w GroupDocs.Metadata dla .NET umożliwia dodawanie, kopiowanie, wyszukiwanie, aktualizowanie i usuwanie metadanych w jednolity sposób w wielu typach dokumentów. Wykorzystując tagi takie jak Treść, Osoba, Czas itp., możesz budować procesy, które organizują pliki według spójnych metadanych, zwiększają ich wyszukiwalność (np. znajdowanie wszystkich plików po autorze lub dacie) oraz automatyzują kategoryzację i czyszczenie dokumentów.

Zobacz także

Uzyskaj bezpłatną wersję próbną

Możesz pobrać darmową wersję próbną GroupDocs.Metadata dla .NET z releases.groupdocs.com. Tym samym możesz uzyskać tymczasową licencję, aby wypróbować wszystkie funkcje i możliwości bez ograniczeń, klikając tutaj.