GroupDocs.Metadata for .NET 20.11 Release Notes

Major Features

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

  • Implement the ability to extract text data chunks from PNG images
  • “DXF version is not valid” exception when reading DXF file
  • Exception: Cannot process loading further due to incorrect file format structure
  • Exception: File is incompatible with exporter
  • Loading process freezes on a damaged file
  • Image loading failed

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
METADATANET-3473Implement the ability to extract text data chunks from PNG imagesNew Feature
METADATANET-3286“DXF version is not valid” exception when reading DXF fileBug
METADATANET-3313Exception: Cannot process loading further due to incorrect file format structureBug
METADATANET-3334Exception: File is incompatible with exporterBug
METADATANET-3385Loading process freezes on a damaged fileBug
METADATANET-3476Image loading failedBug

Public API and Backward Incompatible Changes

Implement the ability to extract text data chunks from PNG images

This new feature allows the user to extract chunks of textual data from PNG images

Public API changes

The PngTextChunk class has been added to the GroupDocs.Metadata.Formats.Image namespace

The PngCompressedTextChunk class has been added to the GroupDocs.Metadata.Formats.Image namespace

The PngInternationalTextChunk class has been added to the GroupDocs.Metadata.Formats.Image namespace

The PngPackage class has been added to the GroupDocs.Metadata.Formats.Image namespace

The PngCompressionMethod enum has been added to the GroupDocs.Metadata.Formats.Image namespace

The PngPackage property has been added to the PngRootPackage class

Use cases

Extract chunks of textual metadata from a PNG image

using (Metadata metadata = new Metadata(@"D:\input.png"))
{
    var root = metadata.GetRootPackage<PngRootPackage>();
    foreach (var chunk in root.PngPackage.TextChunks)
    {
        Console.WriteLine(chunk.Keyword);
        Console.WriteLine(chunk.Text);
        var compressedChunk = chunk as PngCompressedTextChunk;
        if (compressedChunk != null)
        {
            Console.WriteLine(compressedChunk.CompressionMethod);
        }
        var internationalChunk = chunk as PngInternationalTextChunk;
        if (internationalChunk != null)
        {
            Console.WriteLine(internationalChunk.IsCompressed);
            Console.WriteLine(internationalChunk.Language);
            Console.WriteLine(internationalChunk.TranslatedKeyword);
        }
    }
}

Other API changes

DicomPackage.LengthValue property compilation has been set to fail

DicomPackage.DicomFound property compilation has been set to fail

ExifGpsPackage.Track property compilation has been set to fail

The properties are no longer supported.