We’re happy to announce the release of GroupDocs.Comparison for .NET 26.5, available as of May 2026.
GroupDocs.Comparison version 26.5 delivers improvements to PDF rendering accuracy, enhanced CSV and spreadsheet comparison readability, new API capabilities for revision handling and spreadsheet change metadata, and an updated NuGet packaging model with multi‑framework support.

Fixes and enhancements

  • [Feature] Multi‑framework NuGet packaging and TFM‑split packages. (COMPARISONNET-4770)
  • [Enhancement] PDF compare: improve paragraph rendering accuracy in Inline mode. (COMPARISONNET-4751)
  • [Enhancement] Enhance comparison results for PDF documents with tables. (COMPARISONNET-4763)
  • [Bug] Fix ArgumentOutOfRangeException when comparing PDFs with styled tables. (COMPARISONNET-4762)
  • [Feature] Support optional disposal of passed stream in RevisionHandler. (COMPARISONNET-4773)
  • [Enhancement] Improve CSV comparison result readability with text markers. (COMPARISONNET-4769)
  • [Feature] Extend ChangeInfo with Spreadsheet Properties. (COMPARISONNET-4767)
  • [Bug] Compare method throws exception for HTML output. (COMPARISONNET-4764)

Major Features

Multi‑framework NuGet packaging and TFM‑split packages

GroupDocs.Comparison přešel na pokročilejší model distribuce NuGet balíčků. Hlavní balíček nyní cílí na net462;net6.0;net8.0;net10.0, čímž nahrazuje předchozí cíle net462;netstandard2.1.

Navíc, aby se snížila velikost stažení, jsou nyní vedle hlavního balíčku publikovány dedikované balíčky pro jednotlivé frameworky. Při instalaci balíčku specifického pro platformu se stáhnou jen binární soubory odpovídající cílovému frameworku uživatele – žádné nepoužívané platformní sestavy nejsou zahrnuty.

Package Target framework
GroupDocs.Comparison net462;net6.0;net8.0;net10.0 (všechny frameworky)
GroupDocs.Comparison.net462 .NET Framework 4.6.2
GroupDocs.Comparison.net6 .NET 6.0
GroupDocs.Comparison.net8 .NET 8.0
GroupDocs.Comparison.net10 .NET 10.0

Note: .NET Standard 2.1 již není podporován jako samostatný cíl. Projekty, které dříve používaly netstandard2.1, by měly migrovat na jeden z výše uvedených podporovaných TFMs.

Support optional disposal of passed stream in RevisionHandler

RevisionHandler nyní přijímá parametr leaveOpen, který řídí, zda bude podkladový stream uvolněn při uvolnění handleru. Když je leaveOpen nastaven na true, stream zůstane otevřený po uvolnění RevisionHandler, což umožňuje volajícímu jej nadále používat. To je užitečné v situacích, kdy je životní cyklus streamu řízen externě.

using FileStream revisionFileStream = new FileStream("source.docx", FileMode.Open, FileAccess.ReadWrite);

using (RevisionHandler revisionHandler = new RevisionHandler(revisionFileStream, leaveOpen: true))
{
    List<RevisionInfo> revisionList = revisionHandler.GetRevisions();

    foreach (var rev in revisionList)
    {
        if (rev.Type == RevisionType.Deletion)
            rev.Action = RevisionAction.Accept;
    }

    ApplyRevisionOptions revisionChanges = new ApplyRevisionOptions { Changes = revisionList };
    revisionHandler.ApplyRevisionChanges(resultPath, revisionChanges);
}

Extend ChangeInfo with Spreadsheet Properties

Do ChangeInfo byly přidány tři nové vlastnosti, které vystavují metadata specifická pro tabulky u každé detekované změny. Tyto vlastnosti jsou naplněny při porovnávání Excel (.xlsx) a CSV (.csv) souborů a umožňují přesně lokalizovat každou změnu v mřížce tabulky:

  • Row – nulový index řádku změněné buňky.
  • Column – nulový index sloupce změněné buňky.
  • ColumnHeader – text záhlaví sloupce obsahujícího změněnou buňku (pokud je k dispozici).

Níže uvedený příklad ukazuje, jak porovnat dva CSV soubory a serializovat seznam změn – včetně nových vlastností tabulky – do JSON:

string source = "source.csv";
string target = "target.csv";
string outFilePathJson = "result.json";

using (var comparer = new Comparer(source))
{
    comparer.Add(target);
    var doc = comparer.Compare();
    var changes = doc.Changes;

    var json = changes.Select(c => new
    {
        id = c.Id,
        type = c.Type.ToString(),
        componentType = c.ComponentType,
        row = c.Row,
        column = c.Column,
        columnHeader = c.ColumnHeader,
        sourceText = c.SourceText,
        targetText = c.TargetText,
        text = c.Text
    });

    File.WriteAllText(outFilePathJson,
        JsonSerializer.Serialize(json, new JsonSerializerOptions { WriteIndented = true }));
}

Enhancements

Improve CSV comparison result readability with text markers

Výstup porovnání CSV nyní používá inline textové značky, aby byl vložený a smazaný obsah okamžitě viditelný bez nutnosti zobrazení vedle sebe:

  • Inserted text je uzavřen v závorkách – například (new value)
  • Deleted text je uzavřen v hranatých závorkách – například [old value]

How to get the update

Nejnovější verzi můžete získat z NuGet nebo si ji stáhnout přímo ze GroupDocs website.

NuGet

GroupDocs.Comparison for .NET 26.5

Direct download

Stáhněte si sestavení pro .NET i .NET Framework ze stránky GroupDocs.Comparison for .NET 26.5.

Learn more