Les métadonnées du document sont des informations sur le document telles que l’auteur, l’heure d’édition, etc. stockées dans un document. En tant que développeur C#, vous pouvez facilement modifier les informations de métadonnées des documents PDF par programmation sur le cloud. Dans cet article, vous apprendrez à modifier les métadonnées des fichiers PDF à l’aide d’une API REST en C#.
Les sujets suivants seront traités dans cet article :
- API REST de manipulation de métadonnées de documents et SDK .NET
- Modifier les métadonnées des documents PDF à l’aide d’une API REST
API REST de manipulation de métadonnées de documents et SDK .NET
Pour modifier les métadonnées d’un document PDF, j’utiliserai l’API .NET SDK of GroupDocs.Metadata Cloud. Il vous permet d’ajouter, de modifier, de récupérer et de supprimer des métadonnées de presque tous les formats de fichiers standard de l’industrie. Vous pouvez effectuer de telles opérations sur PDF, Microsoft Word, feuilles de calcul Excel, présentations PowerPoint, e-mails Outlook, Visio, OneNote, Project, audio, vidéo, AutoCAD, archive, JPEG, BMP, PNG et TIFF. Il fournit également le SDK Java en tant que membres de la famille de manipulation des métadonnées de document pour l’API Cloud.
Vous pouvez installer GroupDocs.Metadata Cloud SDK pour .NET sur votre projet Visual Studio à partir du gestionnaire de packages NuGet comme indiqué ci-dessous :
Vous pouvez également installer le package NuGet à l’aide de la commande suivante dans la console du gestionnaire de packages :
Install-Package GroupDocs.Metadata-Cloud
Veuillez obtenir votre ID client et votre secret client à partir du tableau de bord avant de commencer à suivre les étapes et les exemples de code disponibles. Une fois que vous avez votre ID client et votre secret, ajoutez le code comme indiqué ci-dessous :
string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";
Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";
Modifier les métadonnées des fichiers PDF à l’aide de l’API REST en C#
Vous pouvez définir les métadonnées des documents PDF en suivant les étapes simples indiquées ci-dessous :
- Téléchargez le fichier PDF dans le Cloud
- Mettre à jour les métadonnées des documents PDF à l’aide de C#
- Télécharger le fichier résultant
Télécharger le document
Tout d’abord, téléchargez le fichier PDF sur le Cloud à l’aide de l’exemple de code ci-dessous :
# initialisation de l'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();
}
Par conséquent, le fichier PDF téléchargé (input.pdf) sera disponible dans la section fichiers de votre tableau de bord sur le cloud.
Mettre à jour les métadonnées des fichiers PDF à l’aide de C#
Vous pouvez mettre à jour les métadonnées d’un fichier PDF par programmation en suivant les étapes ci-dessous.
- Créer une instance de MetadataApi
- Définir le chemin du fichier PDF dans le modèle FileInfo
- Définir SetOptions
- Fournir NewValue et Type pour SetPropert
- Définir SearchCriteria, fournir NameOptions pour lequel mettre à jour la valeur
- Créer SetRequest avec SetOptions
- Obtenez des résultats en appelant la méthode MetadataApi.Set()
L’exemple de code suivant montre comment définir les métadonnées par nom de propriété d’un document PDF à l’aide d’une API REST.
# initialisation de l'API
var apiInstance = new MetadataApi(configuration);
try
{
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Définir les options d'ensemble
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "hello",
Type = "String",
SearchCriteria = new SearchCriteria
{
NameOptions = new NameOptions
{
Value = "Keywords"
}
},
}
}
};
// Définir la demande d'ensemble
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);
}
L’extrait de code suivant montre comment faire correspondre le nom exact de la propriété en définissant la propriété ExactPhrase sur True :
# initialisation de l'API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Définir les options d'ensemble
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
}
}
},
}
}
};
// Définir la demande d'ensemble
var request = new SetRequest(options);
var response = apiInstance.Set(request);
L’extrait de code suivant montre comment définir des critères de recherche à l’aide d’expressions régulières pour fournir les MatchOptions :
# initialisation de l'API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Définir les options d'ensemble
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
}
}
},
}
}
};
// Définir la demande d'ensemble
var request = new SetRequest(options);
var response = apiInstance.Set(request);
L’extrait de code suivant montre comment mettre à jour les métadonnées en fournissant la valeur de la propriété :
# initialisation de l'API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Définir les options d'ensemble
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"
}
},
}
}
};
// Définir la demande d'ensemble
var request = new SetRequest(options);
var response = apiInstance.Set(request);
Télécharger le fichier mis à jour
Les exemples de code ci-dessus enregistreront le fichier PDF mis à jour sur le cloud et pourront être téléchargés à l’aide de l’exemple de code suivant :
# initialisation de l'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);
}
Essayez en ligne
Veuillez essayer l’outil de manipulation de métadonnées PDF en ligne gratuit suivant, qui est développé à l’aide de l’API ci-dessus.
https://products.groupdocs.app/metadata/pdf
Conclusion
Dans cet article, vous avez appris à modifier les métadonnées des documents PDF sur le cloud. Cet article a également expliqué comment télécharger par programmation un fichier PDF sur le cloud, puis télécharger le fichier mis à jour depuis le cloud. Vous pouvez en savoir plus sur l’API GroupDocs.Metadata Manipulation Cloud en utilisant la documentation. Nous fournissons également une section API Reference qui vous permet de visualiser et d’interagir avec nos API directement via le navigateur. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.