Los metadatos del documento son una pieza de información sobre el documento, como el autor, el tiempo de edición, etc. almacenados dentro de un documento. Como desarrollador de C#, puede editar fácilmente la información de metadatos de los documentos PDF mediante programación en la nube. En este artículo, aprenderá a editar los metadatos de los archivos PDF mediante una API REST en C#.
En este artículo se tratarán los siguientes temas:
- Manipulación de metadatos de documentos REST API y .NET SDK
- Edite metadatos de documentos PDF utilizando una API REST
Manipulación de metadatos de documentos REST API y .NET SDK
Para editar metadatos de un documento PDF, usaré la API .NET SDK de GroupDocs.Metadata Cloud. Le permite agregar, editar, recuperar y eliminar metadatos de casi todos los formatos de archivo estándar de la industria. Puede realizar dichas operaciones en PDF, Microsoft Word, hojas de cálculo de Excel, presentaciones de PowerPoint, correos electrónicos de Outlook, Visio, OneNote, Project, audio, video, AutoCAD, archivo, JPEG, BMP, PNG y TIFF. También proporciona Java SDK como sus miembros de la familia de manipulación de metadatos de documentos para la API de Cloud.
Puede instalar GroupDocs.Metadata Cloud SDK for .NET en su proyecto de Visual Studio desde el administrador de paquetes NuGet como se muestra a continuación:
También puede instalar el paquete NuGet con el siguiente comando en la consola del Administrador de paquetes:
Install-Package GroupDocs.Metadata-Cloud
Obtenga su ID de cliente y Secreto de cliente del panel de control antes de comenzar a seguir los pasos y los ejemplos de código disponibles. Una vez que tenga su ID de cliente y secreto, agregue el código como se muestra a continuación:
string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";
Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";
Edite metadatos de archivos PDF usando la API REST en C#
Puede configurar los metadatos de los documentos PDF siguiendo los sencillos pasos que se indican a continuación:
- Subir el archivo PDF a la Nube
- Actualizar metadatos de documentos PDF usando C#
- Descargar el archivo resultante
Sube el documento
En primer lugar, cargue el archivo PDF en la nube utilizando el ejemplo de código que se proporciona a continuación:
# inicialización de la 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();
}
Como resultado, el archivo PDF cargado (input.pdf) estará disponible en la sección de archivos de su tablero en la nube.
Actualizar metadatos de archivos PDF usando C#
Puede actualizar los metadatos de un archivo PDF mediante programación siguiendo los pasos que se indican a continuación.
- Crear una instancia de MetadataApi
- Establecer la ruta del archivo PDF en el modelo FileInfo
- Definir SetOptions
- Proporcione NewValue y Type para SetPropert
- Defina SearchCriteria, proporcione NameOptions para las cuales actualizar el valor
- Crear SetRequest con SetOptions
- Obtenga resultados llamando al método MetadataApi.Set()
El siguiente ejemplo de código muestra cómo configurar los metadatos por nombre de propiedad de un documento PDF mediante una API REST.
# inicialización de la API
var apiInstance = new MetadataApi(configuration);
try
{
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Definir opciones de conjunto
var options = new SetOptions
{
FileInfo = fileInfo,
Properties = new List<SetProperty>
{
new SetProperty
{
NewValue = "hello",
Type = "String",
SearchCriteria = new SearchCriteria
{
NameOptions = new NameOptions
{
Value = "Keywords"
}
},
}
}
};
// Definir solicitud de conjunto
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);
}
El siguiente fragmento de código muestra cómo hacer coincidir el nombre exacto de la propiedad estableciendo la propiedad ExactPhrase en True:
# inicialización de la API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Definir opciones de conjunto
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
}
}
},
}
}
};
// Definir solicitud de conjunto
var request = new SetRequest(options);
var response = apiInstance.Set(request);
El siguiente fragmento de código muestra cómo definir criterios de búsqueda mediante expresiones regulares para proporcionar MatchOptions:
# inicialización de la API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Definir opciones de conjunto
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
}
}
},
}
}
};
// Definir solicitud de conjunto
var request = new SetRequest(options);
var response = apiInstance.Set(request);
El siguiente fragmento de código muestra cómo actualizar los metadatos proporcionando el valor de la propiedad:
# inicialización de la API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
FilePath = "input.pdf",
StorageName = myStorage
};
// Definir opciones de conjunto
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"
}
},
}
}
};
// Definir solicitud de conjunto
var request = new SetRequest(options);
var response = apiInstance.Set(request);
Descargar el archivo actualizado
Los ejemplos de código anteriores guardarán el archivo PDF actualizado en la nube y se pueden descargar utilizando el siguiente ejemplo de código:
# inicialización de la 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);
}
Prueba en línea
Pruebe la siguiente herramienta gratuita de manipulación de metadatos de PDF en línea, que se desarrolla utilizando la API anterior.
https://products.groupdocs.app/metadata/pdf
Conclusión
En este artículo, ha aprendido a editar los metadatos de los documentos PDF en la nube. Este artículo también explicó cómo cargar mediante programación un archivo PDF en la nube y luego descargar el archivo actualizado desde la nube. Puede aprender aún más sobre GroupDocs.Metadata Manipulation Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.