GroupDocs.Comparsion for .NET 17.4.0 Release Notes

Major Features

There are 3 new features and 3 improvements and 4 fix in this regular monthly release. The most notable are:

  • Introduced support of multi compare for formats to GroupDocs.Comparison public API
  • Introduced supporting of CAD formats
  • Improved comparison of Imaging formats
  • Simplify API across all supported formats
  • Fixed comparing multi-column tables for GroupDocs.Comparison.PDF
  • GroupDocs.Comparison.PDF: Fix bug when the text from the paragraphs overlaps tables

Full List of Issues Covering all Changes in this Release

KeySummaryCategory
COMPARISONNET-1143Add support of multi compare for formats to GroupDocs.Comparison public APINew Feature
COMPARISONNET-1172Add UpdateChanges Model for ImagingNew Feature
COMPARISONNET-1175Add supporting of comparison CADNew Feature
COMPARISONNET-1188Improve comparison of Imaging formatsImprovement
COMPARISONNET-1182Cross-format API simplifications across all supported formatsImprovement
COMPARISONNET-1080Comparison.PDF: Improve comparison changes detection for ParagraphsImprovement
COMPARISONNET-1184GroupDocs.Comparison.Words: Text files with html content compared by Words engineBug
COMPARISONNET-1185GroupDocs.Comparison.Text: Fix compare html code in .txt files using word comparerBug
COMPARISONNET-1200GroupDocs.Comparison.PDF: Fix bug when the text from the paragraphs overlaps tablesBug
COMPARISONNET-1208Disposed Images in FacadeBug

Public API and Backward Incompatible Changes

Compare more than two documents from files:

string source = "source.docx";
List<string> targets = new List<string>
{
	"target.docx",
	"target1.docx",
	"target2.docx"
};
Comparer comparer = new Comparer();
ICompareResult result = comparer.Compare(source, targets, new ComparisonSettings());

Compare more than two documents from streams:

Stream source = Assembly.GetExecutingAssembly().GetManifestResourceStream("source.docx");
List<Stream> targets = new List<Stream>
{
	Assembly.GetExecutingAssembly().GetManifestResourceStream("target.docx"),
	Assembly.GetExecutingAssembly().GetManifestResourceStream("target1.docx"),
	Assembly.GetExecutingAssembly().GetManifestResourceStream("target2.docx")
};
Comparer comparer = new Comparer();
ICompareResult result = comparer.Compare(source, targets, new ComparisonSettings());

 Compare more than two documents with passwords from files:

string source = "source.docx";
List<string> targets = new List<string>
{
	"target.docx",
	"target1.docx",
	"target2.docx"
};
string sourcePassword = "password";
List<string> targetPasswords = new List<string>
{
	"password",
	"password",
	"password"
};
Comparer comparer = new Comparer();
ICompareResult result = comparer.Compare(source, sourcePassword, targets, targetPasswords, new ComparisonSettings());

Compare more than two documents with passwords from streams:

Stream sourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("source.docx");
List<Stream> targets = new List<Stream>
{
	Assembly.GetExecutingAssembly().GetManifestResourceStream("target.docx"),
	Assembly.GetExecutingAssembly().GetManifestResourceStream("target1.docx"),
	Assembly.GetExecutingAssembly().GetManifestResourceStream("target2.docx")
};

string sourcePassword = "password";
List<string> targetPasswords = new List<string>
{
	"password",
	"password",
	"password"
};

Comparer comparer = new Comparer();
ICompareResult result = comparer.Compare(source, sourcePassword, targets, targetPasswords, new ComparisonSettings());