Wir freuen uns, die Veröffentlichung von GroupDocs.Comparison für .NET 26.5 bekannt zu geben, verfügbar seit Mai 2026.
GroupDocs.Comparison Version 26.5 liefert Verbesserungen der PDF‑Render‑Genauigkeit, erhöhte Lesbarkeit von CSV‑ und Tabellen‑Vergleichen, neue API‑Funktionen für die Revision‑Verarbeitung und Tabellen‑Änderungs‑Metadaten sowie ein aktualisiertes NuGet‑Paketmodell mit Multi‑Framework‑Unterstützung.

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 hat zu einem fortschrittlicheren NuGet‑Paket‑Liefermodell gewechselt. Das Hauptpaket zielt jetzt auf net462;net6.0;net8.0;net10.0 ab und ersetzt die früheren Targets net462;netstandard2.1.

Zusätzlich werden zur Reduzierung der Download‑Größe dedizierte, pro‑Framework NuGet‑Pakete neben dem Hauptpaket veröffentlicht. Beim Installieren des plattformspezifischen Pakets werden nur die Binärdateien heruntergeladen, die zum Ziel‑Framework des Benutzers passen – keine ungenutzten Plattform‑Assemblies werden mitgeliefert.

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

Note: .NET Standard 2.1 wird nicht mehr als dediziertes Target unterstützt. Projekte, die bisher netstandard2.1 verwendet haben, sollten auf eines der oben aufgeführten unterstützten TFMs migrieren.

Support optional disposal of passed stream in RevisionHandler

RevisionHandler akzeptiert jetzt einen leaveOpen‑Parameter, der steuert, ob der zugrunde liegende Stream beim Entsorgen des Handlers ebenfalls entsorgt wird. Wird leaveOpen auf true gesetzt, bleibt der Stream nach dem Entsorgen des RevisionHandler geöffnet, sodass der Aufrufer ihn weiterverwenden kann. Dies ist nützlich in Szenarien, in denen der Lebenszyklus des Streams extern verwaltet wird.

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

Drei neue Eigenschaften wurden zu ChangeInfo hinzugefügt, um tabellenspezifische Metadaten für jede erkannte Änderung bereitzustellen. Diese Eigenschaften werden beim Vergleich von Excel (.xlsx) und CSV (.csv) Dateien gefüllt und ermöglichen es, jede Änderung exakt im Tabellen‑Raster zu lokalisieren:

  • Row – nullbasierter Zeilenindex der geänderten Zelle.
  • Column – nullbasierter Spaltenindex der geänderten Zelle.
  • ColumnHeader – der Header‑Text der Spalte, die die geänderte Zelle enthält (falls verfügbar).

Das folgende Beispiel zeigt, wie zwei CSV‑Dateien verglichen und die Änderungsliste – inklusive der neuen Tabellen‑Eigenschaften – nach JSON serialisiert wird:

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

Die CSV‑Vergabeausgabe verwendet jetzt Inline‑Textmarker, um eingefügten und gelöschten Inhalt sofort sichtbar zu machen, ohne dass ein Nebeneinander‑Ansicht nötig ist:

  • Inserted‑Text wird in Klammern gesetzt – z. B. (new value)
  • Deleted‑Text wird in eckige Klammern gesetzt – z. B. [old value]

How to get the update

Sie können die neueste Version über NuGet beziehen oder direkt von der GroupDocs‑Website herunterladen.

NuGet

GroupDocs.Comparison for .NET 26.5

Direct download

Laden Sie die Assemblies für sowohl .NET als auch .NET Framework von der Seite GroupDocs.Comparison for .NET 26.5 herunter.

Learn more