Ekstrak Metadata dari Gambar menggunakan C#

Anda dapat menambah, mengedit, menghapus atau mengekstrak detail gambar seperti tinggi, lebar, pembuatan, model, dll. yang disimpan dalam bentuk metadata secara terprogram. Sebagai pengembang C#, Anda dapat dengan mudah mengekstraksi dan memanipulasi informasi metadata gambar secara terprogram di cloud. Pada artikel ini, Anda akan mempelajari cara mengekstrak dan memanipulasi metadata gambar menggunakan REST API di C#.

Topik-topik berikut dibahas/dibahas dalam artikel ini:

Dokumen Metadata Manipulasi REST API dan .NET SDK

Untuk memanipulasi metadata gambar JPEG, saya akan menggunakan .NET SDK of GroupDocs.Metadata Cloud API. Ini memungkinkan Anda untuk menambah, mengedit, mengambil, dan menghapus properti metadata dari dokumen dan format file gambar. Anda hanya perlu menentukan kriteria pencarian dan metadata Cloud REST API akan menangani operasi metadata yang ditentukan dalam format file yang didukung. Ini juga menyediakan Java SDK sebagai anggota keluarga manipulasi metadata dokumen untuk Cloud API.

Anda dapat menginstal GroupDocs.Metadata ke proyek Visual Studio Anda dari Package Manager NuGet atau menggunakan perintah berikut di konsol Package Manager:

Install-Package GroupDocs.Metadata-Cloud

Dapatkan ID Klien dan Rahasia Klien Anda dari dashboard sebelum Anda mulai mengikuti langkah-langkah dan contoh kode yang tersedia. Setelah Anda memiliki ID klien dan Rahasia, tambahkan kode seperti yang ditunjukkan di bawah ini:

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

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

Tambahkan Metadata ke Gambar menggunakan REST API di C#

Anda dapat menambahkan metadata ke gambar dengan mengikuti langkah-langkah sederhana yang diberikan di bawah ini:

Unggah Gambar

Pertama, unggah file JPEG di Cloud menggunakan contoh kode yang diberikan di bawah ini:

// inisialisasi api
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();
}

Hasilnya, file gambar JPEG yang diunggah akan tersedia di bagian file dasbor Anda di cloud.

Tambahkan Metadata ke Gambar menggunakan C#

Anda dapat menambahkan metadata ke gambar JPEG secara terprogram dengan mengikuti langkah-langkah di bawah ini.

  • Buat instance MetadataApi
  • Setel jalur file gambar JPEG dalam model FileInfo
  • Tentukan AddOptions
  • Tetapkan Value dan SearchCriteria untuk properti menggunakan model AddProperty
  • Buat AddRequest dengan AddOptions
  • Dapatkan hasil dengan memanggil metode MetadataApi.Add().

Contoh kode berikut menunjukkan cara menambahkan metadata ke gambar JPEG menggunakan REST API.

// inisialisasi api
var apiInstance = new MetadataApi(configuration);

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

// tentukan metadata tambahkan opsi
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"
                }
            },
        }
    }
};

// tambahkan permintaan
var request = new AddRequest(options);
var response = apiInstance.Add(request);
Tambahkan Metadata dari Gambar menggunakan REST API di C#

Tambahkan Metadata dari Gambar menggunakan REST API di C#

Unduh Gambar

Contoh kode di atas akan menyimpan file JPEG yang diperbarui di cloud dan dapat diunduh menggunakan contoh kode berikut:

// inisialisasi api
var fileApi = new FileApi(configuration);

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

// permintaan unduhan
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);
}

Perbarui Metadata Gambar menggunakan C#

Anda dapat memperbarui metadata gambar JPEG secara terprogram dengan mengikuti langkah-langkah di bawah ini.

  • Buat instance MetadataApi
  • Setel jalur file gambar JPEG dalam model FileInfo
  • Tentukan SetOptions
  • Tetapkan NewValue dan SearchCriteria untuk properti menggunakan model SetProperty
  • Buat SetRequest dengan SetOptions
  • Dapatkan hasil dengan memanggil metode MetadataApi.Set().

Contoh kode berikut menunjukkan cara menyetel metadata gambar JPEG menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

// inisialisasi api
var apiInstance = new MetadataApi(configuration);

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

// tentukan opsi kumpulan metadata
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"
        }
    }
};

// permintaan pembaruan
var request = new SetRequest(options);
var response = apiInstance.Set(request);
Perbarui Metadata dari Gambar menggunakan REST API di C#

Perbarui Metadata dari Gambar menggunakan REST API di C#

Hapus Metadata dari Gambar menggunakan C#

Anda dapat menghapus metadata dari gambar JPEG secara terprogram dengan mengikuti langkah-langkah di bawah ini.

  • Buat instance MetadataApi
  • Setel jalur file gambar JPEG dalam model FileInfo
  • Tentukan RemoveOptions
  • Tetapkan kriteria pencarian
  • Buat RemoveRequest dengan RemoveOptions
  • Dapatkan hasil dengan memanggil metode MetadataApi.Remove().

Contoh kode berikut menunjukkan cara menghapus metadata dari gambar JPEG menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah dan mengunduh file.

// inisialisasi api
var apiInstance = new MetadataApi(configuration);

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

// tentukan metadata hapus opsi
var options = new RemoveOptions
{
    FileInfo = fileInfo,
    SearchCriteria = new SearchCriteria
    {
        TagOptions = new TagOptions
        {
            PossibleName = "Copyright"
        }
    }
};

// hapus permintaan
var request = new RemoveRequest(options);
var response = apiInstance.Remove(request);
Hapus Metadata dari Gambar menggunakan REST API di C#

Hapus Metadata dari Gambar menggunakan REST API di C#

Ekstrak Metadata dari Gambar menggunakan C#

Anda dapat mengekstrak metadata dari gambar JPEG secara terprogram dengan mengikuti langkah-langkah di bawah ini.

  • Buat instance MetadataApi
  • Setel jalur file gambar JPEG dalam model FileInfo
  • Tentukan ExtractOptions
  • Buat ExtractRequest dengan ExtractOptions
  • Dapatkan hasil dengan memanggil metode MetadataApi.Extract().

Contoh kode berikut menunjukkan cara mengekstrak metadata dari gambar JPEG menggunakan REST API. Silakan ikuti langkah-langkah yang disebutkan sebelumnya untuk mengunggah file.

// inisialisasi api
var apiInstance = new MetadataApi(configuration);

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

// mengekstrak opsi
var options = new ExtractOptions
{
    FileInfo = fileInfo
};

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

// metadata yang diekstrak
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);
        }
    }
}
Metadata Gambar

Metadata Gambar

Contoh kode di atas akan menghasilkan output berikut:

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[] 

Coba Daring

Silakan coba alat online gratis manipulasi Metadata JPEG berikut, yang dikembangkan menggunakan API di atas. https://products.groupdocs.app/metadata/jpeg

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara menambahkan, mengedit, menghapus, dan mengekstrak Metadata dari gambar di cloud. Artikel ini juga menjelaskan cara mengunggah file gambar JPEG secara terprogram di cloud dan mengunduhnya dari cloud. Anda dapat mempelajari lebih lanjut tentang API Cloud Manipulasi GroupDocs.Metadata menggunakan dokumentasi. Kami juga menyediakan bagian Referensi API yang memungkinkan Anda memvisualisasikan dan berinteraksi dengan API kami secara langsung melalui browser. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum.

Lihat juga