Чтение метаданных из PPTX с помощью Java

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

Действия по чтению метаданных из PPTX с использованием Java

  1. Настройте свою среду кодирования для использования GroupDocs.Metadata for Java для получения информации из файлов PPTX.
  2. Создайте экземпляр класса Metadata, передав путь к файлу PPTX в качестве аргумента его конструктору.
  3. Установите правила для проверки всех собранных деталей метаданных.
  4. Укажите условие для метода Metadata.findProperties.
  5. Перебрать все свойства, которые вы собрали по отдельности.

Метаданные можно описать как информацию о других данных, включая такие сведения, как авторство, даты создания и изменения и многое другое. Для файлов PPTX метаданные раскрывают важную информацию о презентациях, например об их происхождении, версиях и структурном содержании. Для извлечения метаданных из файлов PPTX мы используем Java, универсальный и мощный язык программирования, а также GroupDocs.Metadata, надежную библиотеку для обработки метаданных в приложениях Java. Эта библиотека упрощает доступ и управление метаданными в различных форматах файлов, включая PPTX. В следующем примере кода показано, как извлечь метаданные PPTX в Java.

Код для чтения метаданных из PPTX с использованием Java

import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.FileFormat;
import com.groupdocs.metadata.core.IReadOnlyList;
import com.groupdocs.metadata.core.MetadataProperty;
import com.groupdocs.metadata.core.MetadataPropertyType;
import com.groupdocs.metadata.licensing.License;
import com.groupdocs.metadata.search.FallsIntoCategorySpecification;
import com.groupdocs.metadata.search.OfTypeSpecification;
import com.groupdocs.metadata.search.Specification;
import com.groupdocs.metadata.tagging.Tags;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReadMetadataFromPPTXUsingJava {
public static void main(String[] args) {
// Set License to avoid the limitations of Metadata library
License license = new License();
license.setLicense("GroupDocs.Metadata.lic");
Metadata metadata = new Metadata("input.pptx");
if (metadata.getFileFormat() != FileFormat.Unknown && !metadata.getDocumentInfo().isEncrypted()) {
System.out.println();
// Fetch all metadata properties that fall into a particular category
IReadOnlyList<MetadataProperty> properties = metadata.findProperties(new FallsIntoCategorySpecification(Tags.getContent()));
System.out.println("The metadata properties describing some characteristics of the file content: title, keywords, language, etc.");
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
// Fetch all properties having a specific type and value
int year = Calendar.getInstance().get(Calendar.YEAR);
properties = metadata.findProperties(new OfTypeSpecification(MetadataPropertyType.DateTime).and(new ReadMetadataFromPPTXUsingJava().new YearMatchSpecification(year)));
System.out.println("All datetime properties with the year value equal to the current year");
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
// Fetch all properties whose names match the specified regex
Pattern pattern = Pattern.compile("^author|company|(.+date.*)$", Pattern.CASE_INSENSITIVE);
properties = metadata.findProperties(new ReadMetadataFromPPTXUsingJava().new RegexSpecification(pattern));
System.out.println(String.format("All properties whose names match the following regex: %s", pattern.pattern()));
for (MetadataProperty property : properties) {
System.out.println(String.format("Property name: %s, Property value: %s", property.getName(), property.getValue()));
}
}
}
// Define your own specifications to filter metadata properties
public class YearMatchSpecification extends Specification {
public YearMatchSpecification(int year) {
setValue(year);
}
public final int getValue() {
return auto_Value;
}
private void setValue(int value) {
auto_Value = value;
}
private int auto_Value;
public boolean isSatisfiedBy(MetadataProperty candidate) {
Date date = candidate.getValue().toClass(Date.class);
if (date != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return getValue() == calendar.get(Calendar.YEAR);
}
return false;
}
}
public class RegexSpecification extends Specification {
private Pattern pattern;
public RegexSpecification(Pattern pattern) {
this.pattern = pattern;
}
@Override
public boolean isSatisfiedBy(MetadataProperty metadataProperty) {
Matcher matcher = pattern.matcher(metadataProperty.getName());
return matcher.find();
}
}
}

Следуя приведенным инструкциям, вы можете получить метаданные PPTX на Java в широко используемых системах, таких как Windows, macOS и Linux, при условии, что Java установлена. Никакой дополнительной установки программного обеспечения не требуется. Таким образом, исследование скрытых метаданных в файлах PPTX с использованием Java является ценным занятием. Используя возможности предлагаемой библиотеки и универсальность Java, разработчики могут раскрыть важную информацию, скрытую в цифровых презентациях. После того, как вы настроили рекомендуемую библиотеку и соответствующим образом изменили пути к файлам, интеграция следующего кода в ваши проекты должна пройти гладко и без каких-либо осложнений.

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

 Русский