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

У цій статті будуть розглянуті такі теми:

REST API маніпуляції метаданими документів і .NET SDK

groupdocsmetadata-for-cloud

Для редагування метаданих документа 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

Встановіть 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-файл у хмару за допомогою прикладу коду, наведеного нижче:

# ініціалізація 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);
}
Редагування метаданих PDF-документів за допомогою REST API у C#

Встановіть метадані за назвою властивості

У наведеному нижче фрагменті коду показано, як знайти точне ім’я властивості, установивши для властивості 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);
Редагувати метадані, зіставляючи точну назву властивості в PDF-документах за допомогою REST API у C#

Встановіть метадані, відповідаючи точному імені властивості

У наведеному нижче фрагменті коду показано, як визначити критерії пошуку за допомогою регулярних виразів для надання 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);
Редагувати метадані, зіставляючи назву властивості за допомогою регулярного виразу в PDF-документах за допомогою REST API у C#

Встановіть метадані, зіставивши назву властивості з регулярним виразом

У наступному фрагменті коду показано, як оновити метадані, вказавши значення властивості:

# ініціалізація 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-документах за допомогою REST API у C#

Встановити метадані за значенням відповідності властивості

Завантажте оновлений файл

Наведені вище зразки коду збережуть оновлений 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 та взаємодіяти з ними безпосередньо через браузер. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також