We zijn blij aan te kondigen dat GroupDocs.Comparison voor .NET 26.5 beschikbaar is sinds mei 2026.
GroupDocs.Comparison versie 26.5 levert verbeteringen in de nauwkeurigheid van PDF-weergave, verbeterde leesbaarheid van CSV‑ en spreadsheet‑vergelijkingen, nieuwe API‑mogelijkheden voor revisiebeheer en spreadsheet‑wijzigingsmetadata, en een bijgewerkt NuGet‑pakkettenmodel met multi‑framework‑ondersteuning.

Fixes and enhancements

  • [Feature] Multi‑framework NuGet‑packaging en TFM‑gesplitste pakketten. (COMPARISONNET-4770)
  • [Enhancement] PDF‑vergelijking: verbeter de nauwkeurigheid van alinea‑rendering in Inline‑modus. (COMPARISONNET-4751)
  • [Enhancement] Verbeter de vergelijkingsresultaten voor PDF‑documenten met tabellen. (COMPARISONNET-4763)
  • [Bug] Los ArgumentOutOfRangeException op bij het vergelijken van PDF’s met gestileerde tabellen. (COMPARISONNET-4762)
  • [Feature] Ondersteun optioneel vrijgeven van de meegegeven stream in RevisionHandler. (COMPARISONNET-4773)
  • [Enhancement] Verbeter de leesbaarheid van CSV‑vergelijkingsresultaten met tekst‑markeringen. (COMPARISONNET-4769)
  • [Feature] Breid ChangeInfo uit met Spreadsheet‑eigenschappen. (COMPARISONNET-4767)
  • [Bug] Compare‑methode gooit een uitzondering voor HTML‑output. (COMPARISONNET-4764)

Major Features

Multi-framework NuGet packaging and TFM-split packages

GroupDocs.Comparison is overgestapt op een geavanceerder NuGet‑pakketleveringsmodel. Het hoofd‑pakket richt zich nu op net462;net6.0;net8.0;net10.0, ter vervanging van de eerdere net462;netstandard2.1‑targets.

Daarnaast, om de downloadgrootte te verkleinen, worden er nu per‑framework NuGet‑pakketten naast het hoofd‑pakket gepubliceerd. Bij het installeren van het platform‑specifieke pakket worden alleen de binaries die overeenkomen met het doel‑framework van de gebruiker gedownload — er worden geen ongebruikte platform‑assemblies meegeleverd.

Package Target framework
GroupDocs.Comparison net462;net6.0;net8.0;net10.0 (alle frameworks)
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

Opmerking: .NET Standard 2.1 wordt niet langer ondersteund als een dedicated target. Projecten die voorheen afhankelijk waren van netstandard2.1 dienen te migreren naar een van de hierboven genoemde ondersteunde TFMs.

Support optional disposal of passed stream in RevisionHandler

RevisionHandler accepteert nu een leaveOpen‑parameter die bepaalt of de onderliggende stream wordt vrijgegeven wanneer de handler wordt vrijgegeven. Wanneer leaveOpen op true staat, blijft de stream open nadat de RevisionHandler is vrijgegeven, zodat de aanroeper deze kan blijven gebruiken. Dit is nuttig in scenario’s waarbij de levensduur van de stream extern wordt beheerd.

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

Er zijn drie nieuwe eigenschappen toegevoegd aan ChangeInfo om spreadsheet‑specifieke metadata voor elke gedetecteerde wijziging bloot te leggen. Deze eigenschappen worden gevuld bij het vergelijken van Excel (.xlsx) en CSV (.csv) bestanden en stellen je in staat om elke wijziging nauwkeurig te lokaliseren binnen het spreadsheet‑rooster:

  • Row – nul‑gebaseerde rij‑index van de gewijzigde cel.
  • Column – nul‑gebaseerde kolom‑index van de gewijzigde cel.
  • ColumnHeader – de header‑tekst van de kolom die de gewijzigde cel bevat (indien beschikbaar).

Het voorbeeld hieronder laat zien hoe twee CSV‑bestanden te vergelijken en de wijzigingslijst — inclusief de nieuwe spreadsheet‑eigenschappen — naar JSON te serialiseren:

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

CSV‑vergelijkingsoutput gebruikt nu inline‑tekst‑markeringen om ingevoegde en verwijderde inhoud direct zichtbaar te maken zonder een side‑by‑side‑weergave:

  • Inserted tekst wordt omgeven door ronde haakjes — bijvoorbeeld, (new value)
  • Deleted