Nous sommes heureux d’annoncer la sortie de GroupDocs.Comparison for .NET 26.5, disponible à partir de mai 2026.
La version 26.5 de GroupDocs.Comparison apporte des améliorations de la précision du rendu PDF, une meilleure lisibilité de la comparaison CSV et des feuilles de calcul, de nouvelles capacités d’API pour la gestion des révisions et les métadonnées des modifications de feuilles de calcul, ainsi qu’un modèle de packaging NuGet mis à jour avec prise en charge multi‑framework.
Corrections et améliorations
- [Feature] Packaging NuGet multi‑framework et packages séparés par TFM. (COMPARISONNET-4770)
- [Enhancement] Comparaison PDF : améliorer la précision du rendu des paragraphes en mode Inline. (COMPARISONNET-4751)
- [Enhancement] Améliorer les résultats de comparaison pour les documents PDF contenant des tableaux. (COMPARISONNET-4763)
- [Bug] Corriger l’ArgumentOutOfRangeException lors de la comparaison de PDF avec des tableaux stylisés. (COMPARISONNET-4762)
- [Feature] Prise en charge de la libération optionnelle du flux passé dans RevisionHandler. (COMPARISONNET-4773)
- [Enhancement] Améliorer la lisibilité des résultats de comparaison CSV avec des marqueurs de texte. (COMPARISONNET-4769)
- [Feature] Étendre ChangeInfo avec des propriétés de feuille de calcul. (COMPARISONNET-4767)
- [Bug] La méthode Compare lève une exception pour la sortie HTML. (COMPARISONNET-4764)
Fonctionnalités majeures
Packaging NuGet multi‑framework et packages séparés par TFM
GroupDocs.Comparison est passé à un modèle de distribution de packages NuGet plus avancé. Le package principal cible désormais net462;net6.0;net8.0;net10.0, remplaçant les cibles précédentes net462;netstandard2.1.
De plus, afin de réduire la taille du téléchargement, des packages NuGet dédiés par framework sont désormais publiés en parallèle du package principal. Lors de l’installation du package spécifique à une plateforme, seules les binaires correspondant au framework cible de l’utilisateur sont téléchargées — aucune assembly de plateforme inutilisée n’est incluse.
| Package | Framework cible |
|---|---|
GroupDocs.Comparison |
net462;net6.0;net8.0;net10.0 (tous les 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 n’est plus pris en charge en tant que cible dédiée. Les projets qui dépendaient auparavant de
netstandard2.1doivent migrer vers l’un des TFMs pris en charge listés ci‑dessus.
Prise en charge de la libération optionnelle du flux passé dans RevisionHandler
RevisionHandler accepte désormais un paramètre leaveOpen qui contrôle si le flux sous‑jacent est libéré lorsque le gestionnaire est libéré. Lorsque leaveOpen est défini sur true, le flux reste ouvert après la libération du RevisionHandler, permettant à l’appelant de continuer à l’utiliser. Ceci est utile dans les scénarios où le cycle de vie du flux est géré à l’extérieur.
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);
}
Étendre ChangeInfo avec des propriétés de feuille de calcul
Trois nouvelles propriétés ont été ajoutées à ChangeInfo pour exposer les métadonnées spécifiques aux feuilles de calcul pour chaque modification détectée. Ces propriétés sont renseignées lors de la comparaison de fichiers Excel (.xlsx) et CSV (.csv) et vous permettent de localiser précisément chaque modification dans la grille de la feuille de calcul :
Row– indice de ligne basé sur zéro de la cellule modifiée.Column– indice de colonne basé sur zéro de la cellule modifiée.ColumnHeader– le texte d’en-tête de la colonne contenant la cellule modifiée (si disponible).
L’exemple ci‑dessous montre comment comparer deux fichiers CSV et sérialiser la liste des modifications — y compris les nouvelles propriétés de feuille de calcul — en 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 }));
}
Améliorations
Améliorer la lisibilité des résultats de comparaison CSV avec des marqueurs de texte
La sortie de comparaison CSV utilise désormais des marqueurs de texte en ligne pour rendre le contenu inséré et supprimé immédiatement visible sans nécessiter une vue côte à côte :
- Inserted le texte est entouré de parenthèses — par exemple,
(new value) - Deleted le texte est entouré de crochets — par exemple,
[old value]
Comment obtenir la mise à jour
Vous pouvez obtenir la dernière version depuis NuGet ou la télécharger directement depuis le site Web GroupDocs.
NuGet
GroupDocs.Comparison for .NET 26.5
Téléchargement direct
Téléchargez les assemblages pour .NET et .NET Framework depuis la page GroupDocs.Comparison for .NET 26.5 .