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.

Düzeltmeler ve Geliştirmeler

  • [Feature] Çok çerçeveli NuGet paketleme ve TFM‑bölünmüş paketler. (COMPARISONNET-4770)
  • [Enhancement] PDF karşılaştırma: Satır içi modda paragraf render doğruluğunu artır. (COMPARISONNET-4751)
  • [Enhancement] Tablo içeren PDF belgeleri için karşılaştırma sonuçlarını iyileştir. (COMPARISONNET-4763)
  • [Bug] Stil verilen tablolar içeren PDF’lerde ArgumentOutOfRangeException hatasını düzelt. (COMPARISONNET-4762)
  • [Feature] RevisionHandler’da geçirilen akışın isteğe bağlı olarak serbest bırakılmasını destekle. (COMPARISONNET-4773)
  • [Enhancement] Metin işaretçileriyle CSV karşılaştırma sonuçlarının okunabilirliğini artır. (COMPARISONNET-4769)
  • [Feature] ChangeInfo’yu Elektronik Tablo Özellikleriyle genişlet. (COMPARISONNET-4767)
  • [Bug] HTML çıktısı için Compare metodu istisna fırlatıyordu. (COMPARISONNET-4764)

Ana Özellikler

Çok çerçeveli NuGet paketleme ve TFM‑bölünmüş paketler

GroupDocs.Comparison, daha gelişmiş bir NuGet paket dağıtım modeline geçmiştir. Ana paket artık net462;net6.0;net8.0;net10.0 hedeflerini içeriyor ve önceki net462;netstandard2.1 hedeflerinin yerini alıyor.

Ayrıca, indirme boyutunu azaltmak amacıyla, ana paketle birlikte platform‑spesifik NuGet paketleri de yayımlanıyor. Platform‑spesifik paketi kurduğunuzda, yalnızca kullanıcının hedef çerçevesine uyan ikili dosyalar indirilir — kullanılmayan platform derlemeleri dahil edilmez.

Paket Hedef çerçeve
GroupDocs.Comparison net462;net6.0;net8.0;net10.0 (tüm çerçeveler)
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

Not: .NET Standard 2.1 artık ayrı bir hedef olarak desteklenmiyor. Daha önce netstandard2.1 kullanan projeler, yukarıda listelenen desteklenen TFMs’den birine geçmelidir.

RevisionHandler içinde geçirilen akışın isteğe bağlı olarak serbest bırakılmasını destekleme

RevisionHandler artık bir leaveOpen parametresi alıyor; bu parametre, handler serbest bırakıldığında temel akışın da serbest bırakılıp bırakılmayacağını kontrol eder. leaveOpen true olarak ayarlandığında, RevisionHandler serbest bırakıldıktan sonra akış açık kalır ve çağıran kod akışı kullanmaya devam edebilir. Bu, akış yaşam döngüsünün dışarıdan yönetildiği senaryolarda faydalıdır.

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);
}

ChangeInfo’yi Elektronik Tablo Özellikleriyle genişlet

ChangeInfo sınıfına, tespit edilen her değişiklik için elektronik tablo‑özel meta verilerini ortaya çıkaran üç yeni özellik eklendi. Bu özellikler, Excel (.xlsx) ve CSV (.csv) dosyaları karşılaştırıldığında doldurulur ve değişikliğin elektronik tablo ızgarasındaki konumunu kesin olarak belirlemenizi sağlar:

  • Row – değişen hücrenin sıfır‑tabanlı satır indeksi.
  • Column – değişen hücrenin sıfır‑tabanlı sütun indeksi.
  • ColumnHeader – değişen hücrenin bulunduğu sütunun başlık metni (varsa).

Aşağıdaki örnek, iki CSV dosyasını karşılaştırıp değişiklik listesini — yeni elektronik tablo özellikleriyle birlikte — JSON’a serileştirir:

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 }));
}

Geliştirmeler

Metin işaretçileriyle CSV karşılaştırma sonuçlarının okunabilirliğini artır

CSV karşılaştırma çıktısı artık eklenmiş ve silinmiş içeriği anında görünür kılan satır içi metin işaretçileri kullanıyor; yan yana görünüm gerektirmiyor:

  • Eklendi metin parantez içinde gösterilir — örnek: (yeni değer)
  • Silindi metin köşeli parantez içinde gösterilir — örnek: [eski değer]

Güncellemeyi nasıl alabilirsiniz

En yeni sürümü NuGet üzerinden alabilir veya GroupDocs web sitesinden doğrudan indirebilirsiniz.

NuGet

GroupDocs.Comparison for .NET 26.5

Doğrudan indirme

GroupDocs.Comparison for .NET 26.5 sayfasından .NET ve .NET Framework için derlemeleri indirin.

Daha fazla bilgi