เรามีความยินดีที่จะแจ้งการเปิดตัว GroupDocs.Comparison for .NET 26.5 ซึ่งพร้อมให้บริการตั้งแต่ พฤษภาคม 2026
GroupDocs.Comparison เวอร์ชัน 26.5 นำเสนอการปรับปรุงความแม่นยำในการเรนเดอร์ PDF, การอ่านผลการเปรียบเทียบ CSV และสเปรดชีตที่ดียิ่งขึ้น, ความสามารถใหม่ของ API สำหรับการจัดการรีวิชันและเมตาดาต้าการเปลี่ยนแปลงของสเปรดชีต, รวมถึงโมเดลการจัดจำหน่าย NuGet ที่อัปเดตพร้อมการสนับสนุนหลายเฟรมเวิร์ก

Fixes and enhancements

  • [Feature] Multi-framework NuGet packaging and TFM-split packages. (COMPARISONNET-4770)
  • [Enhancement] PDF compare: improve paragraph rendering accuracy in Inline mode. (COMPARISONNET-4751)
  • [Enhancement] Enhance comparison results for PDF documents with tables. (COMPARISONNET-4763)
  • [Bug] Fix ArgumentOutOfRangeException when comparing PDFs with styled tables. (COMPARISONNET-4762)
  • [Feature] Support optional disposal of passed stream in RevisionHandler. (COMPARISONNET-4773)
  • [Enhancement] Improve CSV comparison result readability with text markers. (COMPARISONNET-4769)
  • [Feature] Extend ChangeInfo with Spreadsheet Properties. (COMPARISONNET-4767)
  • [Bug] Compare method throws exception for HTML output. (COMPARISONNET-4764)

Major Features

Multi-framework NuGet packaging and TFM-split packages

GroupDocs.Comparison ได้เปลี่ยนไปใช้โมเดลการจัดจำหน่าย NuGet ที่ก้าวหน้าขึ้น ตอนนี้แพคเกจหลักรองรับ net462;net6.0;net8.0;net10.0 แทนที่เป้าหมายเดิม net462;netstandard2.1

นอกจากนี้ เพื่อลดขนาดการดาวน์โหลด แพคเกจ NuGet แยกตามเฟรมเวิร์กก็ถูกเผยแพร่พร้อมกับแพคเกจหลักด้วย เมื่อทำการติดตั้งแพคเกจที่เจาะจงตามแพลตฟอร์ม จะดาวน์โหลดไบนารีที่ตรงกับเฟรมเวิร์กเป้าหมายของผู้ใช้เท่านั้น — ไม่รวมแอสเซมบลีที่ไม่ได้ใช้

แพคเกจ เฟรมเวิร์กเป้าหมาย
GroupDocs.Comparison net462;net6.0;net8.0;net10.0 (ทั้งหมด)
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

หมายเหตุ: .NET Standard 2.1 ไม่ได้รับการสนับสนุนเป็นเป้าหมายแยกอีกต่อไป โปรเจกต์ที่เคยพึ่งพา netstandard2.1 ควรย้ายไปใช้หนึ่งใน TFMs ที่สนับสนุนด้านบน

Support optional disposal of passed stream in RevisionHandler

RevisionHandler ตอนนี้รับพารามิเตอร์ leaveOpen ที่กำหนดว่าควรทำลายสตรีมพื้นฐานเมื่อ handler ถูกทำลายหรือไม่ หากตั้งค่า leaveOpen เป็น true สตรีมจะคงเปิดอยู่หลังจาก RevisionHandler ถูกทำลาย ทำให้ผู้เรียกสามารถใช้งานต่อได้ ซึ่งเป็นประโยชน์ในกรณีที่วงจรชีวิตของสตรีมถูกจัดการจากภายนอก

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

ได้เพิ่มคุณสมบัติใหม่สามรายการใน ChangeInfo เพื่อเปิดเผยเมตาดาต้าสำหรับสเปรดชีตของแต่ละการเปลี่ยนแปลง คุณสมบัติเหล่านี้จะถูกเติมเมื่อเปรียบเทียบไฟล์ Excel (.xlsx) และ CSV (.csv) และช่วยให้คุณระบุตำแหน่งการเปลี่ยนแปลงได้อย่างแม่นยำในตารางสเปรดชีต:

  • Row – ดัชนีแถว (เริ่มจาก 0) ของเซลล์ที่เปลี่ยนแปลง
  • Column – ดัชนีคอลัมน์ (เริ่มจาก 0) ของเซลล์ที่เปลี่ยนแปลง
  • ColumnHeader – ข้อความหัวคอลัมน์ของคอลัมน์ที่มีเซลล์เปลี่ยนแปลง (ถ้ามี)

ตัวอย่างด้านล่างแสดงวิธีเปรียบเทียบไฟล์ CSV สองไฟล์และทำการแปลงรายการการเปลี่ยนแปลง (รวมคุณสมบัติสเปรดชีตใหม่) เป็น 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

ผลลัพธ์การเปรียบเทียบ CSV ตอนนี้ใช้เครื่องหมายข้อความแบบอินไลน์เพื่อทำให้เนื้อหาที่เพิ่มและลบมองเห็นได้ทันทีโดยไม่ต้องดูแบบข้างเคียง:

  • ข้อความ ที่เพิ่ม จะถูกล้อมด้วยวงเล็บ — ตัวอย่างเช่น (new value)
  • ข้อความ ที่ลบ จะถูกล้อมด้วยวงเหลี่ยม — ตัวอย่างเช่น [old value]

How to get the update

คุณสามารถรับเวอร์ชันล่าสุดได้จาก NuGet หรือดาวน์โหลดโดยตรงจาก เว็บไซต์ GroupDocs

NuGet

GroupDocs.Comparison for .NET 26.5

Direct download

ดาวน์โหลดแอสเซมบลีสำหรับ .NET และ .NET Framework จากหน้า GroupDocs.Comparison for .NET 26.5

Learn more