GroupDocs.Comparison for .NET 26.9 Release Notes

GroupDocs.Comparison version 26.9 improves PDF comparison accuracy and performance, adds the ability to restrict external document resource loading, normalizes the order of deleted and inserted components in the diff output, and fixes several issues affecting Words, Slides, and PDF comparison.

Full list of changes in this release

KeyCategorySummary
COMPARISONNET-4866EnhancementRestrict external document resource loading via LoadOptions
COMPARISONNET-4897EnhancementNormalize order of deleted and inserted components in the comparison diff output
COMPARISONNET-4892EnhancementImprove PDF comparison performance for documents with character-level text fragments
COMPARISONNET-4896🔧 FixInline PDF comparison draws replacement text on top of the following line
COMPARISONNET-4893🔧 FixLine breaks inside PDF table cells are lost in the comparison result
COMPARISONNET-3909🔧 FixFix “Page have not room to place a paragraphs” exception when comparing PDF documents
COMPARISONNET-2370🔧 FixImprove accuracy of PDF comparison for documents with tables
COMPARISONNET-2294🔧 FixUnderlined text is not compared
COMPARISONNET-4887🔧 FixNullReferenceException during Words files comparison
COMPARISONNET-4883🔧 FixNullReferenceException during slides comparison

Enhancements

Restrict external document resource loading via LoadOptions

LoadOptions now includes SkipExternalResources and WhitelistedResources to control whether external resources referenced by a document (for example, linked images) are loaded during comparison.

  • SkipExternalResources – when true (the default), external resources are not loaded. Set to false to allow loading external resources.
  • WhitelistedResources – a list of resource names that are still allowed when SkipExternalResources is true.
var loadOptions = new LoadOptions
{
    SkipExternalResources = true,
    WhitelistedResources = new List<string> { "includepicture-field.png" }
};

using (Comparer comparer = new Comparer("source.docx", loadOptions))
{
    comparer.Add("target.docx", loadOptions);
    comparer.Compare("result.docx");
}