Kami dengan senang hati mengumumkan rilis GroupDocs.Comparison untuk .NET 26.5, tersedia sejak Mei 2026.
Versi GroupDocs.Comparison 26.5 menghadirkan perbaikan akurasi rendering PDF, peningkatan keterbacaan perbandingan CSV dan spreadsheet, kemampuan API baru untuk penanganan revisi dan metadata perubahan spreadsheet, serta model paket NuGet yang diperbarui dengan dukungan multi‑framework.

Fixes and enhancements

  • [Feature] Pengemasan NuGet multi‑framework dan paket terpisah per TFM. (COMPARISONNET-4770)
  • [Enhancement] Perbandingan PDF: meningkatkan akurasi rendering paragraf dalam mode Inline. (COMPARISONNET-4751)
  • [Enhancement] Meningkatkan hasil perbandingan untuk dokumen PDF yang berisi tabel. (COMPARISONNET-4763)
  • [Bug] Memperbaiki ArgumentOutOfRangeException saat membandingkan PDF dengan tabel yang memiliki gaya. (COMPARISONNET-4762)
  • [Feature] Mendukung pembuangan opsional pada stream yang diberikan di RevisionHandler. (COMPARISONNET-4773)
  • [Enhancement] Meningkatkan keterbacaan hasil perbandingan CSV dengan penanda teks. (COMPARISONNET-4769)
  • [Feature] Memperluas ChangeInfo dengan Properti Spreadsheet. (COMPARISONNET-4767)
  • [Bug] Metode Compare melemparkan pengecualian untuk output HTML. (COMPARISONNET-4764)

Major Features

Multi-framework NuGet packaging and TFM-split packages

GroupDocs.Comparison telah beralih ke model pengiriman paket NuGet yang lebih maju. Paket utama kini menargetkan net462;net6.0;net8.0;net10.0, menggantikan target sebelumnya net462;netstandard2.1.

Selain itu, untuk mengurangi ukuran unduhan, paket NuGet khusus per framework kini dipublikasikan bersamaan dengan paket utama. Saat menginstal paket yang spesifik platform, hanya binari yang cocok dengan target framework pengguna yang diunduh — tidak ada assembly platform yang tidak terpakai.

Package Target framework
GroupDocs.Comparison net462;net6.0;net8.0;net10.0 (semua 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

Catatan: .NET Standard 2.1 tidak lagi didukung sebagai target khusus. Proyek yang sebelumnya mengandalkan netstandard2.1 harus bermigrasi ke salah satu TFM yang didukung di atas.

Support optional disposal of passed stream in RevisionHandler

RevisionHandler kini menerima parameter leaveOpen yang mengontrol apakah stream dasar dibuang ketika handler dibuang. Ketika leaveOpen diatur ke true, stream tetap terbuka setelah RevisionHandler dibuang, memungkinkan pemanggil terus menggunakannya. Hal ini berguna dalam skenario di mana siklus hidup stream dikelola secara eksternal.

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

Tiga properti baru telah ditambahkan ke ChangeInfo untuk menampilkan metadata khusus spreadsheet bagi setiap perubahan yang terdeteksi. Properti ini diisi saat membandingkan file Excel (.xlsx) dan CSV (.csv) dan memungkinkan Anda menemukan setiap perubahan secara tepat dalam grid spreadsheet:

  • Row – indeks baris berbasis nol dari sel yang berubah.
  • Column – indeks kolom berbasis nol dari sel yang berubah.
  • ColumnHeader – teks header kolom yang berisi sel yang berubah (jika tersedia).

Contoh di bawah ini menunjukkan cara membandingkan dua file CSV dan menyerialkan daftar perubahan — termasuk properti spreadsheet baru — ke 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

Output perbandingan CSV kini menggunakan penanda teks inline untuk membuat konten yang disisipkan dan dihapus langsung terlihat tanpa memerlukan tampilan berdampingan:

  • Teks Inserted dibungkus dalam tanda kurung — contoh, (new value)
  • Teks Deleted dibungkus dalam tanda kurung siku — contoh, [old value]

How to get the update

Anda dapat memperoleh versi terbaru dari NuGet atau mengunduhnya langsung dari situs web GroupDocs.

NuGet

GroupDocs.Comparison for .NET 26.5

Direct download

Unduh assembly untuk .NET dan .NET Framework dari halaman GroupDocs.Comparison for .NET 26.5 .

Learn more