Mais uma novidade para Cloud Developers! GroupDocs lançou a API Cloud de Manipulação de Metadados de Documentos. Isso enriquece a solução de gerenciamento de metadados de documentos do GroupDocs. A solução já está servindo desenvolvedores .NET e Java como APIs no local para desenvolvedores e como aplicativo online gratuito de editor de metadados de documentos para qualquer tipo de usuário visualizar e editar metadados de documentos.

API de nuvem de manipulação de metadados

GroupDocs.Metadata for Cloud

GroupDocs.Metadata Cloud API juntamente com SDKs que permitem aos desenvolvedores manipular (adicionar, remover, atualizar, extrair e visualizar) metadados de mais de 50 formatos de arquivo.

GroupDocs.Metadata permite acessar e lidar com metadados de arquivos de diferentes maneiras como:

  • Possível nome da etiqueta
  • Nome da propriedade
  • Valor da propriedade
  • Corresponder a frase exata
  • Correspondência Regex
  • Árvore de metadados inteira
  • Marcação

Para ter uma ideia muito melhor sobre os recursos e o produto, você sempre pode visitar o guia do desenvolvedor na seção documentação.

Formatos de documento suportados

Você pode executar operações em documentos que podem ser qualquer um dos documentos de processamento de texto, planilhas, apresentações, arquivos de áudio e vídeo, imagens, PDF, eBooks, desenhos e muito mais. Abaixo estão listados os formatos de arquivo atualmente suportados pela API do GroupDocs e esperamos que atendam aos seus requisitos. Você pode visitar a documentação a qualquer momento para conhecer todos os formatos de documento suportados ou qualquer tipo de orientação.

Metadados - SDKs e amostras

Juntamente com a API REST de edição de metadados para Cloud, o GroupDocs também fornece SDKs de código aberto, portanto, eles podem ser personalizados de acordo com os requisitos. Os desenvolvedores podem usar cURL para interagir com GroupDocs.Metadata Cloud API e também podem usar SDK(s) relevante(s) para acelerar o desenvolvimento. Isso ajuda os desenvolvedores a parar de se preocupar com detalhes de baixo nível de fazer uma solicitação e lidar com as respostas. Os SDKs mencionados abaixo, juntamente com os exemplos de código, estão disponíveis no GitHub:

Neste blog. Estou usando o código Java para mostrar como jogar com as propriedades de metadados dos documentos. Além disso, mostrarei apenas uma das maneiras de extrair, adicionar, remover e modificar os metadados. Você também pode ver os exemplos de C# e outras formas em detalhes na documentação e nos repositórios relevantes do GitHub.

Extrair metadados de arquivos em Java ou .NET

A API permite extrair os metadados de seus documentos com diferentes opções que incluem a extração:

  • Toda a árvore de propriedades de metadados
  • Por tag, nome ou valor especificado

Para sua ajuda, os exemplos em execução estão disponíveis no GitHub. Carreguei um exemplo de groupdocs.app que mostra o quanto você pode extrair e criar seus próprios aplicativos de metadados com C# e Java.

Extraia toda a árvore de propriedades de metadados em Java

Depois de definir a conexão com seu armazenamento em nuvem, você pode extrair toda a árvore de propriedades de metadados com a ajuda das poucas linhas de código mencionadas abaixo. Aqui, estou extraindo a árvore de propriedades de uma planilha do Excel usando Java SDK for Cloud. Você pode conseguir isso facilmente usando qualquer um dos outros SDKs disponíveis.

// 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);

Imprimindo toda a árvore de metadados em 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());
	}
}

Saída

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 as outras formas diferentes de extração de metadados podem ser vistas em qualquer um dos seguintes recursos:

Adicionar metadados usando Java ou .NET

A API REST de metadados do GroupDocs permite adicionar metadados aos seus documentos com os seguintes recursos:

  • As propriedades de metadados podem conter diferentes tipos de valores como String, DateTime, Integer, Double, Boolean
  • As propriedades podem ser adicionadas das seguintes maneiras diferentes:
    • Adicionar propriedade de metadados por nome:
      • Parte do nome
      • Frase exata
      • Correspondência Regex
    • Adicionar propriedade de metadados por tag:
      • Etiqueta Exata
      • Possível nome da etiqueta

Adicionar propriedade de metadados por tag exata em Java

Abaixo, você pode ver o exemplo de código-fonte para adicionar a propriedade de metadados por uma tag exata:

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());

Saída: após adicionar metadados por tag

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

Todas as outras maneiras diferentes de adicionar metadados podem ser vistas em qualquer um dos seguintes recursos:

Remover metadados usando Java ou .NET

Quase com opções semelhantes para adicionar as propriedades de metadados, você também pode remover as propriedades de metadados de seus documentos.

  • As propriedades de metadados podem conter diferentes tipos de valores como String, DateTime, Integer, Double, Boolean.
  • As propriedades de metadados podem ser excluídas/removidas das seguintes maneiras:
    • Remover propriedade de metadados por nome:
      • Parte do nome
      • Frase exata
      • Expressão Regular de Correspondência
    • Remover propriedade de metadados por tag:
      • Etiqueta Exata
      • Possível nome da etiqueta

Remover metadados usando expressão regular (Regex) em Java

Abaixo, você pode ver o exemplo de código-fonte para remover as propriedades de metadados que correspondem à expressão regular fornecida:

// 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());

Saída: após a remoção de metadados por regex

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

Todas as outras maneiras diferentes de remover os metadados podem ser vistas em qualquer um dos seguintes recursos:

Atualizar metadados usando Java ou .NET

Além de adicionar, remover e extrair os metadados, a API REST permite atualizar as propriedades de metadados existentes de diferentes maneiras. A seguir, mostrarei como você pode atualizar a propriedade de metadados de qualquer documento usando código Java, fornecendo o possível nome da marca da propriedade. Eu usei uma planilha do Excel para atualizar sua tag de metadados do criador. Você pode conseguir o mesmo em C# usando a API .NET.

Atualizar metadados por possível nome de tag 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());

Saída: depois de modificar os metadados por nome de tag possível

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

Você pode baixar o documento atualizado do caminho retornado na resposta. Além disso, você pode atualizar as propriedades existentes de maneiras semelhantes, como adicionar e remover metadados. Exemplos e explicações podem ser vistos nos seguintes recursos do GroupDocs.Metadata Cloud API.

Vamos conversar

Isso resume a visão geral do GroupDocs.Metadata Cloud API. Agora você pode criar seu próprio aplicativo usando os recursos destacados acima. Ficaremos felizes se você entrar em contato conosco no fórum para discutir, resolver um problema ou compartilhar seus comentários. Obrigado.

Recursos