Метадані документа — це частина інформації про документ, як-от автор, час редагування тощо, яка зберігається в документі. Як розробник на C# ви можете легко редагувати метадані PDF-документів програмним шляхом у хмарі. У цій статті ви дізнаєтесь, як редагувати метадані PDF-файлів за допомогою REST API у C#.
У цій статті будуть розглянуті такі теми:
- REST API маніпуляції метаданими документів і .NET SDK
- Редагувати метадані PDF-документів за допомогою REST API
REST API маніпуляції метаданими документів і .NET SDK

Для редагування метаданих документа PDF я буду використовувати API .NET SDK GroupDocs.Metadata Cloud. Він дозволяє додавати, редагувати, отримувати та видаляти метадані майже з усіх галузевих стандартних форматів файлів. Ви можете виконувати такі операції в PDF, Microsoft Word, електронних таблицях Excel, презентаціях PowerPoint, електронних листах Outlook, Visio, OneNote, Project, аудіо, відео, AutoCAD, архіві, JPEG, BMP, PNG і TIFF. Він також надає Java SDK як члени родини обробки метаданих документів для Cloud API.
Ви можете інсталювати GroupDocs.Metadata Cloud SDK для .NET у свій проект Visual Studio з менеджера пакетів NuGet, як показано нижче:

Встановіть GroupDocs.Metadata Cloud через диспетчер пакетів NuGet
Ви також можете встановити пакет NuGet за допомогою такої команди в консолі диспетчера пакетів:
Install-Package GroupDocs.Metadata-Cloud
Будь ласка, отримайте свій ідентифікатор клієнта та секретний ключ клієнта з інформаційної панелі, перш ніж почати виконувати кроки та доступні приклади коду. Отримавши ідентифікатор клієнта та секрет, додайте код, як показано нижче:
string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";
Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";
Редагування метаданих PDF-файлів за допомогою REST API у C#
Ви можете встановити метадані PDF-документів, виконавши прості дії, наведені нижче:
- Завантажте файл PDF у хмару
- Оновлення метаданих PDF-документів за допомогою C#
- Завантажити отриманий файл
Завантажте документ
По-перше, завантажте PDF-файл у хмару за допомогою прикладу коду, наведеного нижче:
# ініціалізація API
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";
var file = Directory.GetFiles(path, "input.pdf", 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();
}
У результаті завантажений PDF-файл (input.pdf) буде доступний у розділі файлів вашої інформаційної панелі в хмарі.
Оновлення метаданих PDF-файлів за допомогою C#
Ви можете програмно оновити метадані PDF-файлу, виконавши наведені нижче дії.
- Створіть екземпляр MetadataApi
- Встановіть шлях до файлу PDF у моделі FileInfo
- Визначте SetOptions
- Укажіть NewValue і Type для SetPropert
- Визначте SearchCriteria, надайте NameOptions, для яких потрібно оновити значення
- Створіть SetRequest за допомогою SetOptions
- Отримайте результати, викликавши метод MetadataApi.Set().
У наведеному нижче прикладі коду показано, як установити метадані за назвою властивості PDF-документа за допомогою REST API.
# ініціалізація API
var apiInstance = new MetadataApi(configuration);
try
{
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Визначте параметри набору
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "hello",
Type = "String",
SearchCriteria = new SearchCriteria
{
NameOptions = new NameOptions
{
Value = "Keywords"
}
},
}
}
};
// Визначте запит на встановлення
var request = new SetRequest(options);
var response = apiInstance.Set(request);
Console.WriteLine($"Count of changes: {response.SetCount}");
Console.WriteLine("Resultant file path: " + response.Path);
}
catch (Exception e)
{
Console.WriteLine("Exception while calling MetadataApi: " + e.Message);
}

Встановіть метадані за назвою властивості
У наведеному нижче фрагменті коду показано, як знайти точне ім’я властивості, установивши для властивості ExactPhrase значення True:
# ініціалізація API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Визначте параметри набору
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "This is title",
Type = "String",
SearchCriteria = new SearchCriteria
{
NameOptions = new NameOptions
{
Value = "Title",
MatchOptions = new MatchOptions
{
ExactPhrase = true
}
}
},
}
}
};
// Визначте запит на встановлення
var request = new SetRequest(options);
var response = apiInstance.Set(request);

Встановіть метадані, відповідаючи точному імені властивості
У наведеному нижче фрагменті коду показано, як визначити критерії пошуку за допомогою регулярних виразів для надання MatchOptions:
# ініціалізація API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Визначте параметри набору
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "new value",
Type = "String",
SearchCriteria = new SearchCriteria
{
NameOptions = new NameOptions
{
Value = "^Tit.*",
MatchOptions = new MatchOptions
{
IsRegex = true
}
}
},
}
}
};
// Визначте запит на встановлення
var request = new SetRequest(options);
var response = apiInstance.Set(request);

Встановіть метадані, зіставивши назву властивості з регулярним виразом
У наступному фрагменті коду показано, як оновити метадані, вказавши значення властивості:
# ініціалізація API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Визначте параметри набору
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "Simply set by Property Value",
Type = "String",
SearchCriteria = new SearchCriteria
{
ValueOptions = new ValueOptions
{
Value = "Windows User",
Type = "String"
}
},
}
}
};
// Визначте запит на встановлення
var request = new SetRequest(options);
var response = apiInstance.Set(request);

Встановити метадані за значенням відповідності властивості
Завантажте оновлений файл
Наведені вище зразки коду збережуть оновлений PDF-файл у хмарі, і його можна буде завантажити за допомогою такого зразка коду:
# ініціалізація API
var fileApi = new FileApi(configuration);
var file = "metadata\\set_metadata\\input_pdf\\input.pdf";
var downloadRequest = new DownloadFileRequest(file, myStorage);
Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\sample_input.pdf"))
{
downloadResponse.Seek(0, SeekOrigin.Begin);
downloadResponse.CopyTo(fileStream);
}
Спробуйте онлайн
Будь ласка, спробуйте наведений нижче безкоштовний онлайн-інструмент обробки метаданих PDF, розроблений за допомогою вищезазначеного API.
https://products.groupdocs.app/metadata/pdf
Висновок
У цій статті ви дізналися, як редагувати метадані PDF-документів у хмарі. У цій статті також пояснюється, як програмно завантажити PDF-файл у хмару, а потім завантажити оновлений файл із хмари. Ви можете дізнатися більше про GroupDocs.Metadata Manipulation Cloud API за допомогою документації. Ми також надаємо розділ API Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.