Wstęp

Cyfrowe podpisywanie obrazów metadanymi staje się coraz ważniejsze dla potwierdzenia autentyczności, własności i możliwości śledzenia. GroupDocs.Signature for .NET to potężne, a jednocześnie łatwe w użyciu rozwiązanie do dodawania podpisów metadanych do różnych formatów obrazów. Ten samouczek przeprowadzi Cię przez cały proces podpisywania obrazów metadanymi za pomocą języka C#.

Podpisy metadanych umożliwiają osadzanie cennych informacji bezpośrednio w plikach graficznych, takich jak dane autora, znaczniki czasu utworzenia, unikatowe identyfikatory i inne. Informacje te stają się częścią samego pliku graficznego, zapewniając niezawodną metodę śledzenia i weryfikacji autentyczności obrazu.

Wymagania wstępne

Przed przystąpieniem do pracy z tym samouczkiem upewnij się, że posiadasz następujące elementy:

  1. GroupDocs.Signature dla .NET - Pobierz i zainstaluj bibliotekę
  2. Środowisko programistyczne — Visual Studio lub dowolne zgodne środowisko IDE z obsługą .NET
  3. Plik obrazu – przykładowy plik obrazu w obsługiwanym formacie (PNG, JPG, TIFF itp.)
  4. Podstawowa wiedza z zakresu programowania w języku C# – znajomość koncepcji programowania w języku C#

Importuj przestrzenie nazw

Zacznij od zaimportowania niezbędnych przestrzeni nazw, aby uzyskać dostęp do funkcjonalności GroupDocs.Signature:

using System;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

Krok 1: Skonfiguruj ścieżki plików

Zdefiniuj ścieżki do obrazu źródłowego i miejsce, w którym ma zostać zapisany podpisany plik wyjściowy:

// Podaj ścieżkę do pliku obrazu źródłowego
string filePath = "sample.png";

// Zdefiniuj katalog wyjściowy i nazwę pliku dla podpisanego obrazu
string outputDirectory = "Your Document Directory";
string outputFilePath = Path.Combine(outputDirectory, "SignImageWithMetadata", "SignedWithMetadata.png");

// Upewnij się, że katalog wyjściowy istnieje
Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));

Krok 2: Zainicjuj obiekt podpisu

Utwórz instancję klasy Signature przy użyciu pliku obrazu źródłowego:

using (Signature signature = new Signature(filePath))
{
    // Reszta kodu będzie tutaj
}

Krok 3: Utwórz i skonfiguruj podpisy metadanych

Następnie zdefiniuj metadane, które chcesz osadzić w obrazie. GroupDocs.Signature obsługuje różne typy danych metadanych:

// Zainicjuj identyfikator metadanych (specyficzny dla formatu obrazu)
ushort imgsMetadataId = 41996;

// Utwórz obiekt opcji metadanych
MetadataSignOptions options = new MetadataSignOptions();

// Dodaj różne typy podpisów metadanych
options
    .Add(new ImageMetadataSignature(imgsMetadataId++, "Mr.Sherlock Holmes"))  // Wartość ciągu
    .Add(new ImageMetadataSignature(imgsMetadataId++, DateTime.Now))          // Wartość daty i godziny
    .Add(new ImageMetadataSignature(imgsMetadataId++, 123456))                // Wartość całkowita
    .Add(new ImageMetadataSignature(imgsMetadataId++, 123.456D))              // Podwójna wartość
    .Add(new ImageMetadataSignature(imgsMetadataId++, 123.456M))              // Wartość dziesiętna
    .Add(new ImageMetadataSignature(imgsMetadataId++, 123.456F));             // Wartość zmiennoprzecinkowa

Krok 4: Podpisz obraz metadanymi

Zastosuj podpisy metadanych do obrazu i zapisz wynik:

// Podpisz dokument i zapisz w ścieżce pliku wyjściowego
SignResult result = signature.Sign(outputFilePath, options);

// Wyświetl komunikat o powodzeniu
Console.WriteLine($"\nSource image signed successfully with {result.Succeeded.Count} metadata signature(s).");
Console.WriteLine($"Signed image saved at: {outputFilePath}");

Pełny przykład

Oto kompletny przykład kodu łączący wszystkie kroki:

using System;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

namespace SignImageWithMetadataExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Określ ścieżki plików
            string filePath = "sample.png";            
            string outputFilePath = Path.Combine("Your Document Directory", "SignImageWithMetadata", "SignedWithMetadata.png");
            
            // Upewnij się, że katalog wyjściowy istnieje
            Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));

            // Podpisz obraz metadanymi
            using (Signature signature = new Signature(filePath))
            {
                // Zainicjuj identyfikator metadanych (specyficzny dla formatu obrazu)
                ushort imgsMetadataId = 41996;
                
                // Utwórz opcje metadanych
                MetadataSignOptions options = new MetadataSignOptions();
                
                // Dodaj różne typy podpisów metadanych
                options
                    .Add(new ImageMetadataSignature(imgsMetadataId++, "Mr.Sherlock Holmes")) // Wartość ciągu
                    .Add(new ImageMetadataSignature(imgsMetadataId++, DateTime.Now))          // Wartość daty i godziny
                    .Add(new ImageMetadataSignature(imgsMetadataId++, 123456))                // Wartość całkowita
                    .Add(new ImageMetadataSignature(imgsMetadataId++, 123.456D))              // Podwójna wartość
                    .Add(new ImageMetadataSignature(imgsMetadataId++, 123.456M))              // Wartość dziesiętna
                    .Add(new ImageMetadataSignature(imgsMetadataId++, 123.456F));             // Wartość zmiennoprzecinkowa
                
                // Podpisz dokument i zapisz do pliku
                SignResult result = signature.Sign(outputFilePath, options);
                
                // Wyświetl wyniki
                Console.WriteLine($"\nSource image signed successfully with {result.Succeeded.Count} signature(s).");
                Console.WriteLine($"File saved at {outputFilePath}.");
            }
        }
    }
}

Zaawansowane techniki podpisywania metadanych

Praca z niestandardowymi metadanymi

Można również tworzyć niestandardowe pola metadanych ze szczegółowymi identyfikatorami:

// Utwórz niestandardowe metadane ze specyficznym identyfikatorem
options.Add(new ImageMetadataSignature(42000, "CustomValue"));

Weryfikacja podpisów metadanych

Po podpisaniu dokumentu możesz sprawdzić podpisy metadanych:

// Utwórz opcje weryfikacji
MetadataSearchOptions searchOptions = new MetadataSearchOptions();

// Wyszukaj podpisy metadanych
SearchResult result = signature.Search(searchOptions);

// Wyświetl znalezione podpisy
Console.WriteLine($"Found {result.Signatures.Count} metadata signatures:");
foreach(var metadataSignature in result.Signatures)
{
    Console.WriteLine($"- {metadataSignature.Name}: {metadataSignature.Value}");
}

Wniosek

W tym samouczku dowiesz się, jak podpisywać obrazy metadanymi za pomocą GroupDocs.Signature dla platformy .NET. Osadzanie metadanych w obrazach to doskonały sposób na zwiększenie autentyczności obrazów, dodanie kluczowych informacji i usprawnienie procesów zarządzania dokumentami. Proces ten jest prosty, a jednocześnie skuteczny, umożliwiając dostosowanie do indywidualnych potrzeb.

Metadane osadzone w pliku obrazu mogą być wykorzystywane do różnych celów, takich jak ochrona praw autorskich, śledzenie pochodzenia obrazu, dodawanie informacji opisowych i tworzenie cyfrowego łańcucha dostaw. Wdrażając podpisy metadanych, możesz zapewnić integralność i autentyczność swoich obrazów przez cały cykl ich życia.

Najczęściej zadawane pytania

Czy mogę dodać metadane do istniejących podpisanych obrazów?

Tak, możesz dodać dodatkowe metadane do obrazów, które już zawierają podpisy metadanych. Istniejące metadane zostaną zachowane, a nowe metadane zostaną odpowiednio dodane.

Jakie formaty obrazów są obsługiwane przy podpisywania metadanych?

GroupDocs.Signature dla .NET obsługuje podpisywanie metadanych dla różnych formatów obrazów, w tym PNG, JPEG, TIFF, BMP, GIF i innych. Pełną listę można znaleźć w oficjalna dokumentacja.

Czy możliwe jest szyfrowanie metadanych w obrazach?

Tak, GroupDocs.Signature oferuje opcje szyfrowania metadanych w celu zwiększenia bezpieczeństwa. Możesz skorzystać z opcji szyfrowania udostępnianych przez bibliotekę, aby chronić poufne metadane.

Czy mogę programowo zweryfikować autentyczność podpisanych obrazów?

Oczywiście. Możesz użyć metod weryfikacji w GroupDocs.Signature do weryfikacji podpisów metadanych i potwierdzenia autentyczności podpisanych obrazów.

Czy istnieje ograniczenie rozmiaru pliku przy podpisywaniu obrazów metadanymi?

Sama biblioteka nie nakłada żadnych konkretnych ograniczeń na rozmiar pliku, ale bardzo duże pliki mogą wymagać więcej czasu przetwarzania i pamięci. Podczas pracy z bardzo dużymi obrazami zaleca się uwzględnienie zasobów systemowych.

Jak mogę otrzymać tymczasową licencję do celów testowych?

Możesz uzyskać tymczasowa licencja w celu przetestowania GroupDocs.Signature przed dokonaniem zakupu.

Gdzie mogę znaleźć więcej materiałów i wsparcia?