GroupDocs.Metadata for .NET 21.5 Release Notes

Major Features

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

  • Implement the ability to edit EPUB properties
  • Implement the ability to edit DublinCore metadata properties in EPUB
  • Implement the ability to edit DXF metadata properties
  • Reduce the amount of resources consumed by EPUB rendering process

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
METADATANET-3780Implement the ability to edit EPUB propertiesImprovement
METADATANET-3800Implement the ability to edit DublinCore metadata properties in EPUBImprovement
METADATANET-3801Implement the ability to edit DXF metadata propertiesImprovement
METADATANET-3803Reduce the amount of resources consumed by EPUB rendering processBug

Public API and Backward Incompatible Changes

Implement the ability to edit EPUB properties

This improvement allows the user to update and remove EPUB metadata properties.

Public API changes

The Abstract property has been added to the EpubPackage class

The AccessRights property has been added to the EpubPackage class

The AccrualMethod property has been added to the EpubPackage class

The AccrualPeriodicity property has been added to the EpubPackage class

The AccrualPolicy property has been added to the EpubPackage class

The Alternative property has been added to the EpubPackage class

The Audience property has been added to the EpubPackage class

The Available property has been added to the EpubPackage class

The BibliographicCitation property has been added to the EpubPackage class

The ConformsTo property has been added to the EpubPackage class

The Contributor property has been added to the EpubPackage class

The Coverage property has been added to the EpubPackage class

The Created property has been added to the EpubPackage class

The Creator property has been added to the EpubPackage class

The Date property has been added to the EpubPackage class

The DateAccepted property has been added to the EpubPackage class

The DateCopyrighted property has been added to the EpubPackage class

The DateSubmitted property has been added to the EpubPackage class

The Description property has been added to the EpubPackage class

The EducationLevel property has been added to the EpubPackage class

The Extent property has been added to the EpubPackage class

The Format property has been added to the EpubPackage class

The HasFormat property has been added to the EpubPackage class

The HasPart property has been added to the EpubPackage class

The HasVersion property has been added to the EpubPackage class

The Identifier property has been added to the EpubPackage class

The InstructionalMethod property has been added to the EpubPackage class

The IsFormatOf property has been added to the EpubPackage class

The IsPartOf property has been added to the EpubPackage class

The IsReferencedBy property has been added to the EpubPackage class

The IsReplacedBy property has been added to the EpubPackage class

The IsRequiredBy property has been added to the EpubPackage class

The Issued property has been added to the EpubPackage class

The IsVersionOf property has been added to the EpubPackage class

The Language property has been added to the EpubPackage class

The License property has been added to the EpubPackage class

The Mediator property has been added to the EpubPackage class

The Medium property has been added to the EpubPackage class

The Modified property has been added to the EpubPackage class

The Provenance property has been added to the EpubPackage class

The Publisher property has been added to the EpubPackage class

The References property has been added to the EpubPackage class

The Relation property has been added to the EpubPackage class

The Replaces property has been added to the EpubPackage class

The Requires property has been added to the EpubPackage class

The Rights property has been added to the EpubPackage class

The RightsHolder property has been added to the EpubPackage class

The Source property has been added to the EpubPackage class

The Spatial property has been added to the EpubPackage class

The Subject property has been added to the EpubPackage class

The TableOfContents property has been added to the EpubPackage class

The Temporal property has been added to the EpubPackage class

The Title property has been added to the EpubPackage class

The Type property has been added to the EpubPackage class

The Valid property has been added to the EpubPackage class

Use cases

Update EPUB metadata properties

using (Metadata metadata = new Metadata(Constants.InputEpub))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();
 
    root.EpubPackage.Creator = "GroupDocs";
    root.EpubPackage.Description = "test e-book";
    root.EpubPackage.Format = "EPUB";
    root.EpubPackage.Date = DateTime.Now.ToString();
 
    // ...
 
    metadata.Save(Constants.OutputEpub);
}

Implement the ability to edit DublinCore metadata properties in EPUB

This improvement allows the user to edit DublinCore metadata properties stored in an EPUB file.

Public API changes

None

Use cases

Update DublinCore metadata properties stored in an EPUB file

using (Metadata metadata = new Metadata(Constants.InputEpub))
{
    var root = metadata.GetRootPackage<EpubRootPackage>();
 
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:creator", new PropertyValue("GroupDocs"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:description", new PropertyValue("test e-book"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:title", new PropertyValue("test EPUB"));
    root.DublinCorePackage.SetProperties(p => p.Name == "dc:date", new PropertyValue(DateTime.Now.ToString()));
 
    // ...
 
    metadata.Save(Constants.OutputEpub);
}

Implement the ability to edit DXF metadata properties

This improvement allows the user to edit metadata properties stored in a DXF file.

Public API changes

None

Use cases

Update DXF metadata properties

using (Metadata metadata = new Metadata(Constants.InputDxf))
{
    var root = metadata.GetRootPackage<CadRootPackage>();
 
    root.CadPackage.SetProperties(p => p.Name == "Author", new PropertyValue("GroupDocs"));
    root.CadPackage.SetProperties(p => p.Name == "Comments", new PropertyValue("test comment"));
    root.CadPackage.SetProperties(p => p.Name == "HyperlinkBase", new PropertyValue("test hyperlink base"));
    root.CadPackage.SetProperties(p => p.Name == "Keywords", new PropertyValue("test keywords"));
    root.CadPackage.SetProperties(p => p.Name == "LastSavedBy", new PropertyValue("test editor"));
    root.CadPackage.SetProperties(p => p.Name == "RevisionNumber", new PropertyValue("test revision number"));
    root.CadPackage.SetProperties(p => p.Name == "Subject", new PropertyValue("test subject"));
    root.CadPackage.SetProperties(p => p.Name == "Title", new PropertyValue("test title"));
    root.CadPackage.SetProperties(p => p.Name == "CreatedDateTime", new PropertyValue(DateTime.Now.AddDays(-1)));
    root.CadPackage.SetProperties(p => p.Name == "ModifiedDateTime", new PropertyValue(DateTime.Now));
 
    metadata.Save(Constants.OutputDxf);
}