Metadaten aus Bildern mit C# extrahieren

Sie können Bilddetails wie Höhe, Breite, Marke, Modell usw., die in Form von Metadaten gespeichert sind, programmgesteuert hinzufügen, bearbeiten, entfernen oder extrahieren. Als C#-Entwickler können Sie die Metadateninformationen von Bildern problemlos programmgesteuert in der Cloud extrahieren und bearbeiten. In diesem Artikel erfahren Sie, wie Sie die Metadaten von Bildern mithilfe einer REST-API in C# extrahieren und bearbeiten.

Die folgenden Themen werden in diesem Artikel besprochen/behandelt:

REST-API zur Bearbeitung von Dokumentmetadaten und .NET SDK

Zum Bearbeiten der Metadaten von JPEG bildern verwende ich die .NET SDK of GroupDocs.Metadata Cloud-API. Sie können damit Metadateneigenschaften zu Dokumenten und Bilddateiformaten hinzufügen, bearbeiten, abrufen und entfernen. Sie müssen lediglich die Suchkriterien definieren und die Metadaten-Cloud-REST-API kümmert sich um die angegebenen Metadatenoperationen in unterstützten Dateiformaten. Es stellt außerdem Java SDK als Mitglieder der Dokumentmetadaten-Manipulationsfamilie für die Cloud-API bereit.

Sie können GroupDocs.Metadata über den Paket-Manager NuGet oder mit dem folgenden Befehl in der Paket-Manager-Konsole in Ihrem Visual Studio-Projekt installieren:

Install-Package GroupDocs.Metadata-Cloud

Bitte rufen Sie Ihre Client-ID und Ihr Client-Geheimnis vom Dashboard ab, bevor Sie mit dem Befolgen der Schritte und verfügbaren Codebeispiele beginnen. Sobald Sie Ihre Kunden-ID und Ihr Geheimnis haben, fügen Sie den Code wie unten gezeigt ein:

string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";

Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

Hinzufügen von Metadaten zu Bildern mithilfe einer REST-API in C#

Sie können Metadaten zu Bildern hinzufügen, indem Sie die folgenden einfachen Schritte ausführen:

Laden Sie das Bild hoch

Laden Sie zunächst die JPEG-Datei mithilfe des unten angegebenen Codebeispiels in die Cloud hoch:

// API-Initialisierung
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";

var file = Directory.GetFiles(path, "input.jpg", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
    var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

    var fileStream = File.Open(file, FileMode.Open);

    fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
    fileStream.Close();
}

Dadurch ist die hochgeladene JPEG bilddatei im Dateienbereich Ihres Dashboards in der Cloud verfügbar.

Mit C# Metadaten zum Bild hinzufügen

Sie können dem JPEG bild programmgesteuert Metadaten hinzufügen, indem Sie die unten aufgeführten Schritte ausführen.

  • Erstellen Sie eine Instanz von MetadataApi
  • Legen Sie den Pfad der JPEG bilddatei im FileInfo-Modell fest
  • Definieren Sie AddOptions
  • Legen Sie Value und SearchCriteria für die Eigenschaft mithilfe des AddProperty-Modells fest
  • Erstellen Sie AddRequest mit AddOptions
  • Erhalten Sie Ergebnisse, indem Sie die Methode MetadataApi.Add() aufrufen

Das folgende Codebeispiel zeigt, wie man mithilfe einer REST-API Metadaten zu einem JPEG bild hinzufügt.

// API-Initialisierung
var apiInstance = new MetadataApi(configuration);

// Eingabebildpfad
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// Definieren Sie Optionen zum Hinzufügen von Metadaten
var options = new AddOptions
{
    FileInfo = fileInfo,
    Properties = new List<AddProperty>
    {
        new AddProperty
        {
            Value = "All rights reserved.",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                TagOptions = new TagOptions
                {
                    PossibleName = "Copyright"
                }
            },
        }
    }
};

// Anfrage hinzufügen
var request = new AddRequest(options);
var response = apiInstance.Add(request);
Fügen Sie Metadaten aus Bildern mithilfe einer REST-API in C# hinzu

Fügen Sie Metadaten aus Bildern mithilfe einer REST-API in C# hinzu

Laden Sie das Bild herunter

Die obigen Codebeispiele speichern die aktualisierte JPEG-Datei in der Cloud und können mit dem folgenden Codebeispiel heruntergeladen werden:

// API-Initialisierung
var fileApi = new FileApi(configuration);

// Standardpfad
var file = "metadata\\add_metadata\\input_jpg\\input.jpg";

// Download-Anfrage
var downloadRequest = new DownloadFileRequest(file, myStorage);

Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\input.jpg"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

Metadaten des Bildes mit C# aktualisieren

Sie können die Metadaten des JPEG bilds programmgesteuert aktualisieren, indem Sie die folgenden Schritte ausführen.

  • Erstellen Sie eine Instanz von MetadataApi
  • Legen Sie den Pfad der JPEG bilddatei im FileInfo-Modell fest
  • Definieren Sie die SetOptions
  • Legen Sie NewValue und SearchCriteria für die Eigenschaft mithilfe des SetProperty-Modells fest
  • Erstellen Sie SetRequest mit SetOptions
  • Erhalten Sie Ergebnisse, indem Sie die Methode MetadataApi.Set() aufrufen

Das folgende Codebeispiel zeigt, wie Metadaten eines JPEG bilds mithilfe einer REST-API festgelegt werden. Bitte befolgen Sie die zuvor genannten Schritte, um eine Datei hoch und herunterzuladen.

// API-Initialisierung
var apiInstance = new MetadataApi(configuration);

// Eingabebildpfad
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// Definieren Sie Optionen für Metadatensätze
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "Copyright 2021",
            SearchCriteria = new SearchCriteria
            {
                TagOptions = new TagOptions
                {
                    PossibleName = "Copyright"
                }
            },
            Type = "String"
        }
    }
};

// Update-Anfrage
var request = new SetRequest(options);
var response = apiInstance.Set(request);
Metadaten aus Bildern mithilfe einer REST-API in C# aktualisieren

Metadaten aus Bildern mithilfe einer REST-API in C# aktualisieren

Entfernen Sie Metadaten aus dem Bild mit C#

Sie können Metadaten programmgesteuert aus dem JPEG bild entfernen, indem Sie die folgenden Schritte ausführen.

  • Erstellen Sie eine Instanz von MetadataApi
  • Legen Sie den Pfad der JPEG bilddatei im FileInfo-Modell fest
  • Definieren Sie RemoveOptions
  • Legen Sie die Suchkriterien fest
  • Erstellen Sie RemoveRequest mit RemoveOptions
  • Erhalten Sie Ergebnisse, indem Sie die Methode MetadataApi.Remove() aufrufen

Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API Metadaten aus einem JPEG bild entfernen. Bitte befolgen Sie die zuvor genannten Schritte, um eine Datei hoch und herunterzuladen.

// API-Initialisierung
var apiInstance = new MetadataApi(configuration);

// Eingabebildpfad
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// Definieren Sie Optionen zum Entfernen von Metadaten
var options = new RemoveOptions
{
    FileInfo = fileInfo,
    SearchCriteria = new SearchCriteria
    {
        TagOptions = new TagOptions
        {
            PossibleName = "Copyright"
        }
    }
};

// Anfrage entfernen
var request = new RemoveRequest(options);
var response = apiInstance.Remove(request);
Entfernen Sie Metadaten aus Bildern mithilfe einer REST-API in C#

Entfernen Sie Metadaten aus Bildern mithilfe einer REST-API in C#

Extrahieren Sie Metadaten aus Bildern mit C#

Sie können die Metadaten programmgesteuert aus dem JPEG bild extrahieren, indem Sie die folgenden Schritte ausführen.

  • Erstellen Sie eine Instanz von MetadataApi
  • Legen Sie den Pfad der JPEG bilddatei im FileInfo-Modell fest
  • Definieren Sie ExtractOptions
  • Erstellen Sie ExtractRequest mit ExtractOptions
  • Erhalten Sie Ergebnisse, indem Sie die Methode MetadataApi.Extract() aufrufen

Das folgende Codebeispiel zeigt, wie Sie mithilfe einer REST-API Metadaten aus einem JPEG bild extrahieren. Bitte befolgen Sie die oben genannten Schritte, um eine Datei hochzuladen.

// API-Initialisierung
var apiInstance = new MetadataApi(configuration);

// Quelldatei
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// Optionen extrahieren
var options = new ExtractOptions
{
    FileInfo = fileInfo
};

// Auszugsanfrage
var request = new ExtractRequest(options);
var response = apiInstance.Extract(request);

// extrahierte Metadaten
if (response.MetadataTree.InnerPackages != null)
{
    var innerPackages = response.MetadataTree.InnerPackages;
   for (int i = 0; i < innerPackages.Count; i++)
    {
        Console.WriteLine($"\nPackage: {innerPackages[i].PackageName}");
        var packageProperties = innerPackages[i].PackageProperties;
       for (int j = 0; j < packageProperties.Count; j++)
        {
            Console.WriteLine(packageProperties[j].Name + " : " + packageProperties[j].Value);
        }
    }
}
Bildmetadaten

Bildmetadaten

Das obige Codebeispiel erzeugt die folgende Ausgabe:

Package: FileFormat
FileFormat : 9
MimeType : image/jpeg
ByteOrder : 1
Width : 480
Height : 360

Package: Xmp
http://ns.microsoft.com/photo/1.0/ :

Package: Exif
Exif.GpsIfd :
Exif.ExifIfd :
Make : Canon
Model : Canon PowerShot S40
Orientation : System.Int32[]
XResolution : System.Double[]
YResolution : System.Double[]
ResolutionUnit : System.Int32[]
DateTime : 2003:12:14 12:01:44
YCbCrPositioning : System.Int32[]
ExifIfd : System.Int64[]
Exif.Thumbnail : System.Byte[] 

Versuchen Sie es online

Bitte probieren Sie das folgende kostenlose Online-Tool zur Manipulation von JPEG-Metadaten aus, das mit der oben genannten API entwickelt wurde. https://products.groupdocs.app/metadata/jpeg

Abschluss

In diesem Artikel haben Sie erfahren, wie Sie Metadaten aus Bildern in der Cloud hinzufügen, bearbeiten, entfernen und extrahieren. In diesem Artikel wurde auch erklärt, wie man eine JPEG bilddatei programmgesteuert in die Cloud hochlädt und aus der Cloud herunterlädt. Weitere Informationen zur GroupDocs.Metadata Manipulation Cloud API finden Sie in der Dokumentation. Wir bieten auch einen Abschnitt API-Referenz an, mit dem Sie unsere APIs direkt über den Browser visualisieren und mit ihnen interagieren können. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch