GroupDocs.Metadata for .NET 24.1 Release Notes

Major Features

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

  • Added support for .rar format
  • Added support for .tar format
  • Added support for .7z format
  • Added support for searching by tag category

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
METADATANET-4041Support find by group tag.New Feature
METADATANET-4040Support more archive file.New Feature

Public API and Backward Incompatible Changes

Implement the ability to configure cache for heavy operations

This improvement allows you to identify metadata in .rar/.tar/.7z format and explore searches by tag category.

Public API changes

The DngRootPackage class has been added to the GroupDocs.Metadata.Formats.Image 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

Use cases

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

using (Metadata metadata = new Metadata("D:\sample.rar"))
            {
                var root = metadata.GetRootPackage<RarRootPackage>();
                Console.WriteLine(root.RarPackage.TotalEntries);

                foreach (var file in root.RarPackage.Files)
                {
                    Console.WriteLine(file.Name);
                    Console.WriteLine(file.CompressedSize);
                    Console.WriteLine(file.ModificationDateTime);
                    Console.WriteLine(file.UncompressedSize);
                }
            }
using (Metadata metadata = new Metadata("D:\sample.tar"))
            {
                var root = metadata.GetRootPackage<TarRootPackage>();
                Console.WriteLine(root.TarPackage.TotalEntries);

                foreach (var file in root.TarPackage.Files)
                {
                    Console.WriteLine(file.Name);
                    Console.WriteLine(file.Size);
                }
            }
using (Metadata metadata = new Metadata("D:\sample.7z"))
            {
                var root = metadata.GetRootPackage<SevenZipRootPackage>();
                Console.WriteLine(root.SevenZipPackage.TotalEntries);

                foreach (var file in root.SevenZipPackage.Files)
                {
                    Console.WriteLine(file.Name);
                    Console.WriteLine(file.CompressedSize);
                    Console.WriteLine(file.ModificationDateTime);
                    Console.WriteLine(file.UncompressedSize);
                }
            }

Find properties by tag category

using (Metadata metadata = new Metadata("D:\sample.vsdx"))
            {
                var properties = metadata.FindProperties(p => p.Tags.Contains(Tags.Person));
                foreach (var property in properties)
                {
                    Console.WriteLine("Property name: {0}, Property value: {1}", property.Name, property.Value);
                }
            }