Еще одна новость для облачных разработчиков! GroupDocs запустила облачный API для управления метаданными документов. Это обогащает решение для управления метаданными документов GroupDocs. Это решение уже используется разработчиками .NET и Java в качестве локальных API для разработчиков и в качестве бесплатного онлайн-приложения для редактирования метаданных документов для любого пользователя для просмотра и редактирования метаданных документов.

Облачный API для управления метаданными

GroupDocs.Metadata для облака

GroupDocs.Metadata Cloud API вместе с SDK, которые позволяют разработчикам манипулировать (добавлять, удалять, обновлять, извлекать и просматривать) метаданные более чем 50 форматов файлов.

GroupDocs.Metadata позволяет получать доступ к метаданным файлов и работать с ними различными способами, например:

  • Возможное имя тега
  • Имя свойства
  • Стоимость имущества
  • Совпадение с точной фразой
  • Соответствие регулярному выражению
  • Полное дерево метаданных
  • Ярлык

Чтобы получить более полное представление о функциях и продукте, вы всегда можете посетить руководство разработчика в разделе документация.

Поддерживаемые форматы документов

Вы можете выполнять операции с документами, которые могут быть любыми текстовыми документами, электронными таблицами, презентациями, аудио- и видеофайлами, изображениями, PDF-файлами, электронными книгами, рисунками и многим другим. Ниже перечислены форматы файлов, которые в настоящее время поддерживаются API GroupDocs и, мы надеемся, удовлетворят ваши требования. Вы можете просмотреть документацию в любое время, чтобы узнать обо всех поддерживаемых форматах документов или получить какие-либо рекомендации.

Метаданные — SDK и примеры

Наряду с REST API для редактирования метаданных для облака, GroupDocs также предоставляет SDK с открытым исходным кодом, поэтому их можно самостоятельно настроить в соответствии с требованиями. Разработчики могут использовать cURL для взаимодействия с GroupDocs.Metadata Cloud API, а также могут использовать соответствующие SDK для ускорения разработки. Это помогает разработчикам перестать беспокоиться о низкоуровневых деталях создания запроса и обработки ответов. Упомянутые ниже SDK вместе с примерами кода доступны на GitHub:

В этом блоге. Я использую код Java, чтобы показать, как играть со свойствами метаданных документов. Далее я покажу только один из способов извлечения, добавления, удаления и модификации метаданных. Вы также можете подробно ознакомиться с примерами C# и другими способами в документации и соответствующих репозиториях GitHub.

Извлечение метаданных из файлов в Java или .NET

API позволяет извлекать метаданные ваших документов с помощью различных опций, включая извлечение:

  • Все дерево свойств метаданных
  • По указанному тегу, имени или значению

Для вашей помощи запущенные примеры доступны на GitHub. Я загрузил пример из groupdocs.app, который показывает, сколько вы можете извлечь и создать свои собственные приложения метаданных с помощью C# и Java.

Извлечение всего дерева свойств метаданных в Java

После настройки соединения с вашим облачным хранилищем вы можете извлечь все дерево свойств метаданных с помощью нескольких строк кода, указанных ниже. Здесь я извлекаю дерево свойств электронной таблицы Excel, используя Java SDK для облака. Вы можете легко добиться этого, используя любой из других доступных SDK.

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

Печать всего дерева метаданных в 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());
	}
}

Выход

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

Все остальные различные способы извлечения метаданных можно увидеть на любом из следующих ресурсов:

Добавьте метаданные с помощью Java или .NET

REST API метаданных GroupDocs позволяет добавлять метаданные в документы со следующими функциями:

  • Свойства метаданных могут содержать различные типы значений, такие как String, DateTime, Integer, Double, Boolean.
  • Свойства могут быть добавлены следующими различными способами:
    • Добавить свойство метаданных по имени:
      • Часть имени
      • Точная фраза
      • Соответствие регулярному выражению
    • Добавить свойство метаданных по тегу:
      • Точный тег
      • Возможное имя тега

Добавить свойство метаданных по точному тегу в Java

Ниже вы можете увидеть пример исходного кода для добавления свойства метаданных по точному тегу:

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

Вывод: после добавления метаданных по тегу

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

Все остальные различные способы добавления метаданных можно увидеть на любом из следующих ресурсов:

Удалить метаданные с помощью Java или .NET

Почти с аналогичными параметрами добавления свойств метаданных вы также можете удалить свойства метаданных из своих документов.

  • Свойства метаданных могут содержать различные типы значений, такие как String, DateTime, Integer, Double, Boolean..
  • Свойства метаданных можно удалить/удалить следующими способами:
    • Удалить свойство метаданных по имени:
      • Часть имени
      • Точная фраза
      • Соответствие регулярному выражению
    • Удалить свойство метаданных по тегу:
      • Точный тег
      • Возможное имя тега

Удалить метаданные с помощью регулярного выражения (Regex) в Java

Ниже вы можете увидеть пример исходного кода для удаления свойств метаданных, соответствующих предоставленному регулярному выражению:

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

Вывод: после удаления метаданных регулярным выражением

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

Все остальные различные способы удаления метаданных можно увидеть на любом из следующих ресурсов:

Обновление метаданных с помощью Java или .NET

Наряду с добавлением, удалением и извлечением метаданных REST API позволяет различными способами обновлять существующие свойства метаданных. Ниже я покажу, как вы можете обновить свойство метаданных любого документа, используя код Java, указав имя возможного тега свойства. Я использовал электронную таблицу Excel для обновления тега метаданных создателя. Вы можете добиться того же на С#, используя .NET API.

Обновление метаданных по возможному имени тега с использованием 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());

Вывод: после изменения метаданных по возможному имени тега

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

Вы можете загрузить обновленный документ по пути, указанному в ответе. Кроме того, вы можете обновлять существующие свойства аналогичными способами, например, добавляя и удаляя метаданные. Пример и пояснения можно увидеть на следующих ресурсах GroupDocs.Metadata Cloud API.

Давай поговорим

Это резюмирует обзор GroupDocs.Metadata Cloud API. Теперь вы можете создать собственное приложение, используя выделенные выше функции. Мы будем рады, если вы свяжетесь с нами на форуме, чтобы обсудить, решить проблему или поделиться своим мнением. Спасибо.

Ресурсы