GroupDocs.Metadata for Java 24.5 Release Notes

Major Features

There are the following features, enhancements, and fixes in this release:

  • Add export metadata to csv file
  • Add many properties for .mov
  • Manage image orientation on Exif
  • Add export metadata to JSON file
  • Assign GPS property to location tag
  • Added support for .rar format
  • Added support for .tar format
  • Added support for .7z format
  • Added support for searching by tag category
  • Fields Creator and Producer in PDF now editable.
  • Import metadata properties from JSON file.

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
METADATANET-4021Develop export to xml.Feature
METADATANET-4027Add more properties for .mov format.Feature
METADATANET-3931Manage image orientation.Feature
METADATANET-4031Export to JSON format.Feature
METADATANET-4032Assign GPS property to location tag.Feature
METADATANET-4041Support find by group tag.New Feature
METADATANET-4040Support more archive file.New Feature
METADATANET-4058Add the ability to write to the Creator and Producer fields in Pdf.New Feature
METADATANET-4047Import from file.New Feature

Public API and Backward Incompatible Changes

Public API changes

The CsvExportOptions class has been added to the com.groupdocs.metadata.export namespace

Many new properties in MovPackage

The Orientation in ExifPackage

The JsonExportOptions class has been added to the com.groupdocs.metadata.export namespace

The DngRootPackage class has been added to the com.groupdocs.metadata.core namespace

The Rar item has been added to the FileFormat enum

The Tar item has been added to the FileFormat enum

The SevenZip item has been added to the FileFormat enum

The com.groupdocs.metadata.import class has been added to the com.groupdocs.metadata namespace

Use cases

Export Pdf metadata in csv

Metadata metadata = new Metadata("input.pdf");
{
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    {
        ExportManager manager = new ExportManager(metadata.getRootPackage());
        manager.export(stream, ExportFormat.Csc, new CsvExportOptions());
    }
}

Export Pdf metadata in Json

Metadata metadata = new Metadata("input.pdf");
{
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    {
        ExportManager manager = new ExportManager(metadata.getRootPackage());
        manager.export(stream, ExportFormat.Json, new JsonExportOptions());
    }
}

Read metadata properties from a HEIC .rar/.tar/.7z format

Metadata metadata = new Metadata("D:\sample.rar");
{
    RarRootPackage root = metadata.getRootPackageGeneric();
    System.out.println(root.getRarPackage().getTotalEntries());

    for (RarFile file : root.getRarPackage().getFiles())
    {
        System.out.println(file.getName());
        System.out.println(file.getCompressedSize());
        System.out.println(file.getModificationDateTime());
        System.out.println(file.getUncompressedSize());
    }
}
Metadata metadata = new Metadata("D:\sample.tar");
{
    TarRootPackage root = metadata.getRootPackageGeneric();

    System.out.println(root.getTarPackage().getTotalEntries());

    for (TarFile file : root.getTarPackage().getFiles())
    {
        System.out.println(file.getName());
        System.out.println(file.getSize());
    }
}
Metadata metadata = new Metadata("D:\sample.7z");
{
    SevenZipRootPackage root = metadata.getRootPackageGeneric();
    System.out.println(root.getSevenZipPackage().getTotalEntries());

    for (SevenZipFile file : root.getSevenZipPackage().getFiles())
    {
        System.out.println(file.getName());
        System.out.println(file.getCompressedSize());
        System.out.println(file.getModificationDateTime());
        System.out.println(file.getUncompressedSize());
    }
}

Find properties by tag category

Metadata metadata = new Metadata("D:\sample.vsdx");
    {
        IReadOnlyList<MetadataProperty> properties = metadata.findProperties(new FallsIntoCategorySpecification(Tags.getPerson()));
        for (MetadataProperty property : properties)
        {
            System.out.println("Property name: "+property.getName()+", Property value: "+ property.getValue());
        }
    }

Import metadata properties from JSON file File “D:\import.json” received after exporting properties

Metadata metadata = new Metadata("D:\sample.pdf")
{
    PdfRootPackage root = metadata.getRootPackageGeneric();

    System.out.println(root.getDocumentProperties().getAuthor());
    System.out.println(root.getDocumentProperties().getCreatedDate());
    System.out.println(root.getDocumentProperties().getProducer());

    ImportManager manager = new ImportManager(root);
    manager.import_("D:\import.json", ImportFormat.Json, new JsonImportOptions());
    metadata.save();
}