شما می توانید جزئیات تصویر مانند ارتفاع، عرض، ساخت، مدل و غیره را که در قالب ابرداده ذخیره شده اند به صورت برنامه ریزی شده اضافه، ویرایش، حذف یا استخراج کنید. بهعنوان یک توسعهدهنده سی شارپ، میتوانید به راحتی اطلاعات فراداده تصاویر را بهصورت برنامهنویسی در فضای ابری استخراج و دستکاری کنید. در این مقاله نحوه استخراج و دستکاری متادیتای تصاویر را با استفاده از REST API در سی شارپ یاد خواهید گرفت.
موضوعات زیر در این مقاله مورد بحث/پوشش قرار گرفته است:
- Document Metadata Manipulation REST API و NET SDK
- با استفاده از REST API، متادیتا را به تصاویر اضافه کنید
- ابرداده تصویر را با استفاده از REST API به روز کنید
- Metadata را با استفاده از REST API از تصاویر حذف کنید
- استخراج فراداده از تصاویر با استفاده از REST API
Document Metadata Manipulation REST API و NET SDK
برای دستکاری ابرداده تصاویر JPEG، من از .NET SDK از GroupDocs.Metadata Cloud API استفاده خواهم کرد. این به شما امکان می دهد ویژگی های ابرداده را از اسناد و فرمت های فایل تصویری اضافه، ویرایش، بازیابی و حذف کنید. فقط باید معیارهای جستجو را تعریف کنید و ابرداده Cloud REST API از عملیات فوق داده مشخص شده در [فرمت های فایل پشتیبانی شده] مراقبت می کند. همچنین جاوا SDK را به عنوان [اعضای خانواده دستکاری فراداده سند4 برای Cloud API ارائه میکند.
میتوانید GroupDocs.Metadata را در پروژه ویژوال استودیو خود از Package Manager NuGet یا با استفاده از دستور زیر در کنسول Package Manager نصب کنید:
Install-Package GroupDocs.Metadata-Cloud
لطفاً قبل از شروع به دنبال کردن مراحل و نمونههای کد موجود، شناسه مشتری و راز مشتری خود را از داشبورد دریافت کنید. هنگامی که شناسه مشتری و Secret خود را دریافت کردید، کد را مطابق شکل زیر اضافه کنید:
string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";
Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";
اضافه کردن متادیتا به تصاویر با استفاده از REST API در سی شارپ
با دنبال کردن مراحل ساده زیر می توانید متادیتا را به تصاویر اضافه کنید:
- آپلود تصویر را در ابر
- افزودن متادیتا به تصویر با استفاده از C#
- دانلود تصویر به روز شده
تصویر را آپلود کنید
ابتدا فایل JPEG را با استفاده از نمونه کد زیر در Cloud آپلود کنید:
// مقداردهی اولیه 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();
}
در نتیجه، فایل تصویری JPEG آپلود شده در بخش فایل ها داشبورد شما در فضای ابری در دسترس خواهد بود.
اضافه کردن متادیتا به تصویر با استفاده از سی شارپ
با دنبال کردن مراحل زیر میتوانید متادیتا را به صورت برنامهنویسی به تصویر JPEG اضافه کنید.
- یک نمونه از MetadataApi ایجاد کنید
- مسیر فایل تصویری JPEG را در مدل FileInfo تنظیم کنید
- AddOptions را تعریف کنید
- با استفاده از مدل AddProperty مقدار و SearchCriteria را برای ویژگی تنظیم کنید
- AddRequest را با AddOptions ایجاد کنید
- با فراخوانی متد MetadataApi.Add() به نتیجه برسید
نمونه کد زیر نشان می دهد که چگونه می توان ابرداده را با استفاده از REST API به یک تصویر JPEG اضافه کرد.
// مقداردهی اولیه api
var apiInstance = new MetadataApi(configuration);
// مسیر تصویر ورودی
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// گزینه های افزودن متادیتا را تعریف کنید
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"
}
},
}
}
};
// اضافه کردن درخواست
var request = new AddRequest(options);
var response = apiInstance.Add(request);
تصویر را دانلود کنید
نمونه کد بالا فایل JPEG به روز شده را در فضای ابری ذخیره می کند و با استفاده از نمونه کد زیر قابل دانلود است:
// مقداردهی اولیه api
var fileApi = new FileApi(configuration);
// مسیر پیش فرض
var file = "metadata\\add_metadata\\input_jpg\\input.jpg";
// درخواست دانلود
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);
}
به روز رسانی متادیتای تصویر با استفاده از سی شارپ
با دنبال کردن مراحل زیر می توانید متادیتای تصویر JPEG را به صورت برنامه نویسی به روز کنید.
- یک نمونه از MetadataApi ایجاد کنید
- مسیر فایل تصویری JPEG را در مدل FileInfo تنظیم کنید
- SetOptions را تعریف کنید
- با استفاده از مدل SetProperty، NewValue و SearchCriteria را برای ویژگی تنظیم کنید
- SetRequest را با SetOptions ایجاد کنید
- با فراخوانی متد MetadataApi.Set() به نتیجه برسید
نمونه کد زیر نحوه تنظیم فراداده یک تصویر JPEG را با استفاده از REST API نشان می دهد. لطفاً برای آپلود و دانلود یک فایل مراحل ذکر شده را دنبال کنید.
// مقداردهی اولیه api
var apiInstance = new MetadataApi(configuration);
// مسیر تصویر ورودی
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// گزینه های مجموعه ابرداده را تعریف کنید
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"
}
}
};
// درخواست به روز رسانی
var request = new SetRequest(options);
var response = apiInstance.Set(request);
حذف متادیتا از تصویر با استفاده از سی شارپ
با دنبال کردن مراحل زیر می توانید متادیتا را از تصویر JPEG به صورت برنامه ریزی شده حذف کنید.
- یک نمونه از MetadataApi ایجاد کنید
- مسیر فایل تصویری JPEG را در مدل FileInfo تنظیم کنید
- RemoveOptions را تعریف کنید
- معیارهای جستجو را تنظیم کنید
- RemoveRequest را با RemoveOptions ایجاد کنید
- با فراخوانی متد MetadataApi.Remove() به نتیجه برسید
نمونه کد زیر نحوه حذف متادیتا را از یک تصویر JPEG با استفاده از REST API نشان می دهد. لطفاً برای آپلود و دانلود یک فایل مراحل ذکر شده را دنبال کنید.
// مقداردهی اولیه api
var apiInstance = new MetadataApi(configuration);
// مسیر تصویر ورودی
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// گزینه های حذف ابرداده را تعریف کنید
var options = new RemoveOptions
{
FileInfo = fileInfo,
SearchCriteria = new SearchCriteria
{
TagOptions = new TagOptions
{
PossibleName = "Copyright"
}
}
};
// حذف درخواست
var request = new RemoveRequest(options);
var response = apiInstance.Remove(request);
استخراج متادیتا از تصویر با استفاده از سی شارپ
با دنبال کردن مراحل زیر میتوانید متادیتا را از تصویر JPEG به صورت برنامهنویسی استخراج کنید.
- یک نمونه از MetadataApi ایجاد کنید
- مسیر فایل تصویری JPEG را در مدل FileInfo تنظیم کنید
- ExtractOptions را تعریف کنید
- ExtractRequest را با ExtractOptions ایجاد کنید
- با فراخوانی متد MetadataApi.Extract() به نتیجه برسید
نمونه کد زیر نحوه استخراج ابرداده از یک تصویر JPEG با استفاده از REST API را نشان می دهد. لطفاً برای آپلود فایل مراحل ذکر شده قبلی را دنبال کنید.
// مقداردهی اولیه api
var apiInstance = new MetadataApi(configuration);
// منبع فایل
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.jpg"
};
// استخراج گزینه ها
var options = new ExtractOptions
{
FileInfo = fileInfo
};
// درخواست استخراج
var request = new ExtractRequest(options);
var response = apiInstance.Extract(request);
// فراداده استخراج شده
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);
}
}
}
نمونه کد بالا خروجی زیر را تولید می کند:
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[]
آنلاین را امتحان کنید
لطفاً ابزار آنلاین رایگان دستکاری فراداده JPEG را که با استفاده از API فوق توسعه یافته است، امتحان کنید. https://products.groupdocs.app/metadata/jpeg
نتیجه
در این مقاله نحوه افزودن، ویرایش، حذف و استخراج متادیتا از تصاویر در فضای ابری را یاد گرفتید. در این مقاله همچنین نحوه آپلود برنامهای فایل تصویری JPEG بر روی ابر و دانلود آن از ابر توضیح داده شده است. با استفاده از مستندات میتوانید حتی بیشتر درباره GroupDocs.Metadata Manipulation Cloud API بیاموزید. ما همچنین یک بخش API Reference ارائه میکنیم که به شما امکان میدهد APIهای ما را مستقیماً از طریق مرورگر تجسم کرده و با آنها تعامل داشته باشید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس بگیرید17.