Siamo felici di annunciare il rilascio di GroupDocs.Comparison per .NET 26.5, disponibile a partire da maggio 2026.
La versione 26.5 di GroupDocs.Comparison introduce miglioramenti nella precisione del rendering PDF, una maggiore leggibilità del confronto di file CSV e fogli di calcolo, nuove funzionalità API per la gestione delle revisioni e dei metadati delle modifiche nei fogli di calcolo, e un modello di packaging NuGet aggiornato con supporto multi‑framework.
Correzioni e miglioramenti
- [Feature] Packaging NuGet multi‑framework e pacchetti suddivisi per TFM. (COMPARISONNET-4770)
- [Enhancement] Confronto PDF: migliorare la precisione del rendering dei paragrafi in modalità Inline. (COMPARISONNET-4751)
- [Enhancement] Migliorare i risultati del confronto per documenti PDF con tabelle. (COMPARISONNET-4763)
- [Bug] Correggere ArgumentOutOfRangeException durante il confronto di PDF con tabelle formattate. (COMPARISONNET-4762)
- [Feature] Supportare lo smaltimento opzionale dello stream passato in RevisionHandler. (COMPARISONNET-4773)
- [Enhancement] Migliorare la leggibilità del risultato del confronto CSV con marcatori di testo. (COMPARISONNET-4769)
- [Feature] Estendere ChangeInfo con proprietà dei fogli di calcolo. (COMPARISONNET-4767)
- [Bug] Il metodo Compare genera un’eccezione per l’output HTML. (COMPARISONNET-4764)
Funzionalità principali
Packaging NuGet multi‑framework e pacchetti suddivisi per TFM
GroupDocs.Comparison è passato a un modello di distribuzione NuGet più avanzato. Il pacchetto principale ora mira a net462;net6.0;net8.0;net10.0, sostituendo i precedenti target net462;netstandard2.1.
Inoltre, per ridurre la dimensione del download, sono ora pubblicati pacchetti NuGet dedicati per ciascun framework accanto al pacchetto principale. Quando si installa il pacchetto specifico per la piattaforma, vengono scaricati solo i binari corrispondenti al framework di destinazione dell’utente — nessun assembly di piattaforma inutilizzato viene incluso.
| Pacchetto | Framework di destinazione |
|---|---|
GroupDocs.Comparison |
net462;net6.0;net8.0;net10.0 (tutti i framework) |
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 |
Nota: .NET Standard 2.1 non è più supportato come target dedicato. I progetti che in precedenza dipendevano da
netstandard2.1dovrebbero migrare a uno dei TFMs supportati elencati sopra.
Supportare lo smaltimento opzionale dello stream passato in RevisionHandler
RevisionHandler ora accetta un parametro leaveOpen che controlla se lo stream sottostante viene smaltito quando l’handler viene smaltito. Quando leaveOpen è impostato a true, lo stream rimane aperto dopo lo smaltimento di RevisionHandler, consentendo al chiamante di continuare a usarlo. Questa funzionalità è utile in scenari in cui il ciclo di vita dello stream è gestito esternamente.
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);
}
Estendere ChangeInfo con proprietà dei fogli di calcolo
Sono state aggiunte tre nuove proprietà a ChangeInfo per esporre i metadati specifici dei fogli di calcolo per ogni modifica rilevata. Queste proprietà vengono popolate durante il confronto di file Excel (.xlsx) e CSV (.csv) e consentono di individuare con precisione ogni modifica nella griglia del foglio di calcolo:
Row– indice di riga (base zero) della cella modificata.Column– indice di colonna (base zero) della cella modificata.ColumnHeader– testo dell’intestazione della colonna contenente la cella modificata (se disponibile).
L’esempio seguente mostra come confrontare due file CSV e serializzare l’elenco delle modifiche — incluse le nuove proprietà dei fogli di calcolo — in 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 }));
}
Miglioramenti
Migliorare la leggibilità del risultato del confronto CSV con marcatori di testo
L’output del confronto CSV ora utilizza marcatori di testo in linea per rendere immediatamente visibili i contenuti inseriti e cancellati senza richiedere una visualizzazione affiancata:
- Il testo inserito è racchiuso tra parentesi — ad esempio,
(new value) - Il testo cancellato è racchiuso tra parentesi quadre — ad esempio,
[old value]
Come ottenere l’aggiornamento
Puoi ottenere l’ultima versione da NuGet o scaricarla direttamente dal sito web di GroupDocs.
NuGet
GroupDocs.Comparison for .NET 26.5
Download diretto
Scarica gli assembly per .NET e .NET Framework dalla pagina GroupDocs.Comparison for .NET 26.5.