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
- Edytuj metadane dokumentów PDF za pomocą interfejsu API REST
Interfejs API REST do manipulowania metadanymi dokumentów i pakiet .NET SDK
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:
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 plik PDF do chmury
- Aktualizacja metadanych dokumentów PDF za pomocą C#
- Pobierz wynikowy plik
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);
}
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);
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);
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);
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.