เรามีความยินดีที่จะแจ้งการเปิดตัว 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 (all 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 |
หมายเหตุ: .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– ดัชนีแถว (เริ่มจากศูนย์) ของเซลล์ที่เปลี่ยนแปลงColumn– ดัชนีคอลัมน์ (เริ่มจากศูนย์) ของเซลล์ที่เปลี่ยนแปลง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 ตอนนี้ใช้เครื่องหมายข้อความแบบอินไลน์เพื่อทำให้เนื้อหาที่เพิ่มและลบมองเห็นได้ทันทีโดยไม่ต้องดูแบบข้างเคียง:
- Inserted text is wrapped in parentheses — for example,
(new value) - Deleted text is wrapped in square brackets — for example,
[old value]
How to get the update
คุณสามารถรับเวอร์ชันล่าสุดจาก NuGet หรือดาวน์โหลดโดยตรงจาก GroupDocs website
NuGet
[GroupDocs.Comparison for .NET 26.5](https://www.nuget.org/packages/GroupDocs.Comparison/26.5.0