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.