Jsme rádi, že můžeme oznámit vydání GroupDocs.Comparison for .NET 26.5, dostupné od května 2026.
Verze GroupDocs.Comparison 26.5 přináší vylepšení přesnosti vykreslování PDF, zlepšenou čitelnost porovnání CSV a tabulek, nové API pro práci s revizemi a metadaty změn v tabulkách a aktualizovaný model balíčků NuGet s podporou více frameworků.
Opravy a vylepšení
- [Feature] Balíčky NuGet pro více frameworků a TFM‑rozdělené balíčky. (COMPARISONNET-4770)
- [Enhancement] PDF porovnání: zlepšení přesnosti vykreslování odstavců v režimu Inline. (COMPARISONNET-4751)
- [Enhancement] Vylepšení výsledků porovnání PDF dokumentů s tabulkami. (COMPARISONNET-4763)
- [Bug] Oprava výjimky ArgumentOutOfRangeException při porovnávání PDF s formátovanými tabulkami. (COMPARISONNET-4762)
- [Feature] Volitelná likvidace předaného proudu v RevisionHandler. (COMPARISONNET-4773)
- [Enhancement] Zlepšení čitelnosti výsledků porovnání CSV pomocí textových značek. (COMPARISONNET-4769)
- [Feature] Rozšíření ChangeInfo o vlastnosti pro tabulky. (COMPARISONNET-4767)
- [Bug] Metoda Compare vyhazuje výjimku při výstupu do HTML. (COMPARISONNET-4764)
Hlavní funkce
Balíčky NuGet pro více frameworků a TFM‑rozdělené balíčky
GroupDocs.Comparison přešel na pokročilejší model distribuce balíčků NuGet. 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 stahování, 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 pouze binární soubory odpovídající cílovému frameworku uživatele – žádné nepoužívané platformní sestavy nejsou zahrnuty.
| Balíček | Cílový 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 |
Poznámka: .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.
Volitelná likvidace předaného proudu v RevisionHandler
RevisionHandler nyní přijímá parametr leaveOpen, který určuje, zda bude podkladový proud uvolněn při uvolnění handleru. Když je leaveOpen nastaveno na true, proud 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 proudu ří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);
}
Rozšíření ChangeInfo o vlastnosti pro tabulky
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í souborů Excel (.xlsx) a CSV (.csv) a umožňují přesně umístit 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 (je‑li k dispozici).
Níže uvedený příklad ukazuje, jak porovnat dva CSV soubory a serializovat seznam změn – včetně nových vlastností pro 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 }));
}
Vylepšení
Zlepšení čitelnosti výsledků porovnání CSV pomocí textových značek
Výstup porovnání CSV nyní používá inline textové značky, aby byly vložené a smazané části okamžitě viditelné bez nutnosti zobrazení vedle sebe:
- Vložený text je uzavřen v závorkách – například
(new value) - Smazaný text je uzavřen v hranatých závorkách – například
[old value]
Jak získat aktualizaci
Nejnovější verzi můžete získat z NuGet nebo si ji stáhnout přímo z webu GroupDocs.
NuGet
GroupDocs.Comparison for .NET 26.5
Přímé stažení
Stáhněte si sestavení pro .NET i .NET Framework na stránce GroupDocs.Comparison for .NET 26.5.