¡Otra noticia más para los desarrolladores de la nube! GroupDocs ha lanzado la API de nube de manipulación de metadatos de documentos. Esto enriquece la solución de gestión de metadatos de documentos de GroupDocs. La solución ya está sirviendo a los desarrolladores de .NET y Java como API en las instalaciones para desarrolladores, y como Aplicación gratuita de edición de metadatos de documentos en línea para que cualquier tipo de usuario vea y edite metadatos de documentos.

API de nube de manipulación de metadatos

GroupDocs.Metadatos para la nube

GroupDocs.Metadata Cloud API junto con SDK que permiten a los desarrolladores manipular (agregar, eliminar, actualizar, extraer y ver) metadatos de más de 50 formatos de archivo.

GroupDocs.Metadata permite acceder y tratar los metadatos de los archivos de diferentes maneras, como:

  • Posible nombre de etiqueta
  • Nombre de la propiedad
  • El valor de la propiedad
  • Coincidencia de frase exacta
  • Coincidir con expresión regular
  • Árbol completo de metadatos
  • Etiqueta

Para tener una mejor idea de las funciones y el producto, siempre puede visitar la guía para desarrolladores en la sección documentación.

Formatos de documentos admitidos

Puede realizar operaciones en documentos que pueden ser cualquiera de los documentos de procesamiento de texto, hojas de cálculo, presentaciones, archivos de audio y video, imágenes, PDF, libros electrónicos, dibujos y muchos más. A continuación se enumeran los formatos de archivo que actualmente son compatibles con la API de GroupDocs y, con suerte, cumplirán con sus requisitos. Puede visitar la documentación en cualquier momento para conocer todos los formatos de documentos admitidos o cualquier tipo de orientación.

Metadatos: SDK y muestras

Junto con la API REST de edición de metadatos para la nube, GroupDocs también proporciona SDK de código abierto, por lo tanto, estos se pueden personalizar según los requisitos. Los desarrolladores pueden usar cURL para interactuar con GroupDocs.Metadata Cloud API y también pueden usar los SDK relevantes para acelerar el desarrollo. Esto ayuda a los desarrolladores a dejar de preocuparse por los detalles de bajo nivel de hacer una solicitud y manejar las respuestas. Los SDK mencionados a continuación junto con los ejemplos de código están disponibles en GitHub:

en este blog Estoy usando el código Java para mostrar cómo jugar con las propiedades de metadatos de los documentos. Además, mostraré solo una de las formas de extraer, agregar, eliminar y modificar los metadatos. También puede ver los ejemplos de C# y otras formas en detalle en la documentación y en los repositorios relevantes de GitHub.

Extraiga metadatos de archivos en Java o .NET

La API te permite extraer los metadatos de tus documentos con diferentes opciones que incluyen extraer:

  • Todo el árbol de propiedades de los metadatos
  • Por etiqueta, nombre o valor especificado

Para su ayuda, los ejemplos en ejecución están disponibles en GitHub. He subido un ejemplo de groupdocs.app que muestra cuánto puede extraer y crear sus propias aplicaciones de metadatos con C# y Java.

Extraiga el árbol completo de propiedades de metadatos en Java

Después de configurar la conexión con su almacenamiento en la nube, puede extraer todo el árbol de propiedades de metadatos con la ayuda de las pocas líneas de código que se mencionan a continuación. Aquí, estoy extrayendo el árbol de propiedades de una hoja de cálculo de Excel usando Java SDK for Cloud. Puede lograr esto fácilmente usando cualquiera de los otros SDK disponibles.

// Set File Path
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("documents"+ File.separator +"input.xlsx");
// Set Options to extract the metadata from any file.
ExtractOptions options = new ExtractOptions();
options.setFileInfo(fileInfo);
// Send a Request with options to extract metadata and received the response.
ExtractRequest request = new ExtractRequest(options);
ExtractResult response = apiInstance.extract(request);

Imprimir todo el árbol de metadatos en Java

// That's it. You have received the whole Metadata Tree. Now you can use it the way you like.
for (MetadataProperty entry : response.getMetadataTree().getInnerPackages().get(0).getPackageProperties()){
	System.out.println("\\n" + entry.getName() + ": " + entry.getValue());
	if (entry.getTags() == null)
		continue;
	// Print Tags
	for (Tag tagItem : entry.getTags()) {
		System.out.println("=== Tag for Property ===");
		System.out.println("Name :" + tagItem.getName());
		System.out.println("Category: " + tagItem.getCategory());
	}
}

Producción

FileFormat: 2
=== Tag for Property ===
Name :FileFormat
Category: Content

MimeType: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
=== Tag for Property ===
Name :FileFormat
Category: Content
 
SpreadsheetFileFormat: 3
=== Tag for Property ===
Name :FileFormat
Category: Content

Todas las demás formas diferentes de extracción de metadatos se pueden ver en cualquiera de los siguientes recursos:

Agregar metadatos usando Java o .NET

La API REST de metadatos de GroupDocs le permite agregar metadatos a sus documentos con las siguientes características:

  • Las propiedades de metadatos pueden contener diferentes tipos de valores como cadena, fecha y hora, entero, doble, booleano
  • Las propiedades se pueden agregar de las siguientes maneras diferentes:
    • Agregar propiedad de metadatos por nombre:
      • parte del nombre
      • Frase exacta
      • Coincidencia de expresiones regulares
    • Agregar propiedad de metadatos por etiqueta:
      • Etiqueta exacta
      • Posible nombre de etiqueta

Agregar propiedad de metadatos por etiqueta exacta en Java

A continuación, puede ver el ejemplo de código fuente para agregar la propiedad de metadatos mediante una etiqueta exacta:

AddOptions options = new AddOptions();
ArrayList<AddProperty> properties = new ArrayList<AddProperty>();
AddProperty property = new AddProperty();
SearchCriteria searchCriteria = new SearchCriteria();
TagOptions tagOptions = new TagOptions();
// Set Tag name and category
Tag tag = new Tag();
tag.setName("Printed");
tag.setCategory("Time");
// Set Tag
tagOptions.setExactTag(tag);
searchCriteria.setTagOptions(tagOptions);
//Set Date for Value
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss");
// Setting the Add Property
property.setSearchCriteria(searchCriteria);
property.setValue(dateFormat.format(date));
property.setType("datetime");
properties.add(property);
// Set Properties of AddOptions
options.setProperties(properties);
// Select the document to add metadata property
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("documents/input.docx");
options.setFileInfo(fileInfo);
// Sending the request and fetch response after adding the metadata property
AddRequest request = new AddRequest(options);
AddResult response = apiInstance.add(request);
// Printing the Changes Count and Path of changed file.
System.out.println("Count of changes: " + response.getAddedCount());
System.out.println("Resultant file path: " + response.getPath());

Salida: después de agregar metadatos por etiqueta

Count of changes: 1
Resultant file path: metadata/add\_metadata/documents/input\_docx/input.docx

Todas las otras formas diferentes de agregar metadatos se pueden ver en cualquiera de los siguientes recursos:

Eliminar metadatos usando Java o .NET

Casi con opciones similares para agregar las propiedades de los metadatos, también puede eliminar las propiedades de los metadatos de sus documentos.

  • Las propiedades de metadatos pueden contener diferentes tipos de valores como cadena, fecha y hora, entero, doble, booleano.
  • Las propiedades de los metadatos se pueden eliminar/eliminar de las siguientes maneras:
    • Eliminar propiedad de metadatos por nombre:
      • parte del nombre
      • Frase exacta
      • Coincidencia de expresiones regulares
    • Eliminar propiedad de metadatos por etiqueta:
      • Etiqueta exacta
      • Posible nombre de etiqueta

Eliminar metadatos usando expresiones regulares (regex) en Java

A continuación, puede ver el ejemplo de código fuente para eliminar las propiedades de metadatos que coinciden con la expresión regular proporcionada:

// Name Options
NameOptions nameOptions = new NameOptions();
nameOptions.setValue("^\[N\]ame\[A-Z\].\*");
// Match Options
MatchOptions matchOptions = new MatchOptions();
matchOptions.setIsRegex(true);
nameOptions.setMatchOptions(matchOptions);
// Remove Metadata Options and Search Criteria
RemoveOptions options = new RemoveOptions();
SearchCriteria searchCriteria = new SearchCriteria();
// Search Criteria
searchCriteria.setNameOptions(nameOptions);
options.setSearchCriteria(searchCriteria);
// Set fileInfo for the source document
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("documents/input.docx");
options.setFileInfo(fileInfo);
// Send request to remove and receive the response
RemoveRequest request = new RemoveRequest(options);
RemoveResult response = apiInstance.remove(request);
// In response, you can get the path of the updated document with the removed properies.
System.out.println("Count of changes: " + response.getRemovedCount());
System.out.println("Resultant file path: " + response.getPath());

Salida: después de eliminar los metadatos por regex

Count of changes: 1
Resultant file path: metadata/remove\_metadata/documents/input\_docx/input.docx 

Todas las demás formas diferentes de eliminar los metadatos se pueden ver en cualquiera de los siguientes recursos:

Actualizar metadatos usando Java o .NET

Además de agregar, eliminar y extraer los metadatos, la API REST permite actualizar las propiedades de los metadatos existentes de diferentes maneras. A continuación, mostraré cómo puede actualizar la propiedad de metadatos de cualquier documento utilizando código Java al proporcionar el posible nombre de la etiqueta de la propiedad. He usado una hoja de cálculo de Excel para actualizar su etiqueta de metadatos de creador. Puede lograr lo mismo en C# usando la API de .NET.

Actualizar metadatos por posible nombre de etiqueta usando Java

SetOptions options = new SetOptions();
ArrayList<SetProperty> properties = new ArrayList<SetProperty>();
SetProperty property = new SetProperty();
SearchCriteria searchCriteria = new SearchCriteria();
// Set Tag Options and Possible Tag Name
TagOptions tagOptions = new TagOptions();
tagOptions.setPossibleName("creator");
searchCriteria.setTagOptions(tagOptions);
//Set the new Value and Type and then add the property
property.setSearchCriteria(searchCriteria);
property.setNewValue("GroupDocs");
property.setType("string");
properties.add(property);
options.setProperties(properties);
// Select the file to update its metadata properties
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("documents/input.xlsx");
options.setFileInfo(fileInfo);
// Send Request and catch the Response
SetRequest request = new SetRequest(options);
SetResult response = apiInstance.set(request);
// Print the Response Fields
System.out.println("Changes count: " + response.getSetCount());
System.out.println("Resultant file path: " + response.getPath());

Salida: después de modificar los metadatos por posible nombre de etiqueta

 Count of changes: 1
 Resultant file path: metadata/set\_metadata/documents/input\_xlsx/input.xlsx 

Puede descargar el documento actualizado desde la ruta devuelta en la respuesta. Además, puede actualizar las propiedades existentes de manera similar, como agregar y eliminar metadatos. Se pueden ver ejemplos y explicaciones en los siguientes recursos de GroupDocs.Metadata Cloud API.

Hablemos

Esto resume la descripción general de GroupDocs.Metadata Cloud API. Ahora puede crear su propia aplicación utilizando las funciones destacadas anteriormente. Estaremos encantados si se comunica con nosotros en el foro para discutir, resolver un problema o compartir sus comentarios. Gracias.

Recursos