Metadane dokumentu to informacje o dokumencie, takie jak autor, czas edycji itp., przechowywane w dokumencie. Jako programista języka C# możesz łatwo programowo edytować informacje o metadanych dokumentów PDF w chmurze. W tym artykule dowiesz się, jak edytować metadane plików PDF za pomocą REST API w języku C#.

W tym artykule zostaną omówione następujące tematy:

Interfejs API REST do manipulowania metadanymi dokumentów i pakiet .NET SDK

groupdocsmetadane-dla-chmury

Do edycji metadanych dokumentu PDF będę używał .NET SDK GroupDocs.Metadata Cloud API. Pozwala dodawać, edytować, pobierać i usuwać metadane z prawie wszystkich standardowych formatów plików. Możesz wykonywać takie operacje na plikach PDF, Microsoft Word, arkuszach kalkulacyjnych Excel, prezentacjach PowerPoint, wiadomościach e-mail Outlook, Visio, OneNote, Project, audio, wideo, AutoCAD, archiwach, JPEG, BMP, PNG i TIFF. Udostępnia również Java SDK jako członkowie rodziny manipulacji metadanymi dokumentów dla Cloud API.

Możesz zainstalować GroupDocs.Metadata Cloud SDK dla platformy .NET w swoim projekcie programu Visual Studio z Menedżera pakietów NuGet, jak pokazano poniżej:

Zainstaluj GroupDocs.Metadata Cloud za pomocą Menedżera pakietów NuGet

Zainstaluj GroupDocs.Metadata Cloud za pomocą Menedżera pakietów NuGet

Możesz także zainstalować pakiet NuGet za pomocą następującego polecenia w konsoli Menedżera pakietów:

Install-Package GroupDocs.Metadata-Cloud

Zanim zaczniesz postępować zgodnie z instrukcjami i dostępnymi przykładami kodu, uzyskaj swój identyfikator klienta i klucz tajny klienta z panelu nawigacyjnego. Po uzyskaniu identyfikatora klienta i klucza tajnego dodaj kod, jak pokazano poniżej:

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

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

Edytuj metadane plików PDF za pomocą interfejsu API REST w języku C#

Możesz ustawić metadane dokumentów PDF, wykonując proste czynności podane poniżej:

Prześlij dokument

Najpierw prześlij plik PDF do chmury, korzystając z przykładowego kodu podanego poniżej:

# inicjalizacja 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();
}

W rezultacie przesłany plik PDF (input.pdf) będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.

Zaktualizuj metadane plików PDF za pomocą C#

Metadane pliku PDF można zaktualizować programowo, wykonując czynności podane poniżej.

  • Utwórz instancję MetadataApi
  • Ustaw ścieżkę pliku PDF w modelu FileInfo
  • Zdefiniuj opcje zestawu
  • Podaj NewValue i Type dla SetPropert
  • Zdefiniuj SearchCriteria, podaj NameOptions, dla których chcesz zaktualizować wartość
  • Utwórz SetRequest za pomocą SetOptions
  • Uzyskaj wyniki, wywołując metodę MetadataApi.Set().

Poniższy przykładowy kod pokazuje, jak ustawić metadane według nazwy właściwości dokumentu PDF przy użyciu interfejsu API REST.

# inicjalizacja API
var apiInstance = new MetadataApi(configuration);

try
{
    var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
    {
        FilePath = "input.pdf",
        StorageName = myStorage
    };
    
    // Zdefiniuj opcje zestawu
    var options = new SetOptions
    {
        FileInfo = fileInfo,
        Properties = new List<SetProperty>
        {
            new SetProperty
            {
                NewValue = "hello",
                Type = "String",
                SearchCriteria = new SearchCriteria
                {
                    NameOptions = new NameOptions
                    {
                        Value = "Keywords"
                    }
                },
            }
        }
    };
    
    // Zdefiniuj żądanie zestawu
    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);
}
Edytuj metadane dokumentów PDF za pomocą REST API w C#

Ustaw metadane według nazwy właściwości

Poniższy fragment kodu pokazuje, jak dopasować dokładną nazwę właściwości, ustawiając właściwość ExactPhrase na True:

# inicjalizacja API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Zdefiniuj opcje zestawu
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
                    }
                }
            },
        }
    }
};

// Zdefiniuj żądanie zestawu
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Edytuj metadane, dopasowując dokładną nazwę właściwości w dokumentach PDF za pomocą interfejsu API REST w języku C#

Ustaw metadane, dopasowując dokładną nazwę właściwości

Poniższy fragment kodu przedstawia sposób definiowania kryteriów wyszukiwania przy użyciu wyrażeń regularnych w celu udostępnienia opcji MatchOptions:

# inicjalizacja API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Zdefiniuj opcje zestawu
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
                    }
                }
            },
        }
    }
};

// Zdefiniuj żądanie zestawu
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Edytuj metadane, dopasowując nazwę właściwości za pomocą wyrażeń regularnych w dokumentach PDF za pomocą interfejsu API REST w języku C#

Ustaw metadane, dopasowując nazwę właściwości do wyrażenia regularnego

Poniższy fragment kodu pokazuje, jak zaktualizować metadane, podając wartość właściwości:

# inicjalizacja API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Zdefiniuj opcje zestawu
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"
                }
            },
        }
    }
};

// Zdefiniuj żądanie zestawu
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Edytuj metadane, dopasowując wartość właściwości w dokumentach PDF za pomocą interfejsu API REST w języku C#

Ustaw metadane, dopasowując wartość właściwości

Pobierz zaktualizowany plik

Powyższe przykłady kodu spowodują zapisanie zaktualizowanego pliku PDF w chmurze i można je pobrać przy użyciu następującego przykładu kodu:

# inicjalizacja 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);
}

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie online do manipulacji metadanymi PDF, które zostało opracowane przy użyciu powyższego interfejsu API.

https://products.groupdocs.app/metadata/pdf

Wniosek

W tym artykule nauczyłeś się, jak edytować metadane dokumentów PDF w chmurze. W tym artykule wyjaśniono również, jak programowo przesłać plik PDF do chmury, a następnie pobrać zaktualizowany plik z chmury. Możesz dowiedzieć się jeszcze więcej o GroupDocs.Metadata Manipulation Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też