אנו שמחים להודיע על שחרור GroupDocs.Comparison for .NET 26.5, זמין החל מ-מאי 2026.
GroupDocs.Comparison גרסה 26.5 מביאה שיפורים בדיוק הצגת PDF, קריאות משופרת של השוואת CSV וגיליונות אלקטרוניים, יכולות API חדשות לטיפול ברוויזיות ונתוני שינוי בגיליונות, וכן מודל אריזת NuGet מעודכן עם תמיכה מרובת‑מסגרות.
Fixes and enhancements
- [Feature] אריזת NuGet מרובת‑מסגרות וחבילות מפוצלות לפי TFM. (COMPARISONNET-4770)
- [Enhancement] השוואת PDF: שיפור דיוק הצגת פסקאות במצב Inline. (COMPARISONNET-4751)
- [Enhancement] שיפור תוצאות ההשוואה למסמכי PDF עם טבלאות. (COMPARISONNET-4763)
- [Bug] תיקון ArgumentOutOfRangeException בעת השוואת PDF עם טבלאות מעוצבות. (COMPARISONNET-4762)
- [Feature] תמיכה באפשרות השמדת ה‑stream שהועבר ל‑RevisionHandler. (COMPARISONNET-4773)
- [Enhancement] שיפור קריאות תוצאות השוואת CSV עם סמני טקסט. (COMPARISONNET-4769)
- [Feature] הרחבת ChangeInfo עם מאפייני גיליון אלקטרוני. (COMPARISONNET-4767)
- [Bug] מתודת Compare זורקת חריגה עבור פלט HTML. (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 ייעודיות לכל מסגרת משוחררות לצד החבילה הראשית. כאשר מתקינים את החבילה הספציפית לפלטפורמה, מורידים רק את הקבצים הבינריים המתאימים למסגרת היעד של המשתמש — ללא אסמבליות פלטפורמה מיותרות.
| Package | Target framework |
|---|---|
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צריכים לעבור לאחת מה‑TFM הנתמכות המופיעות למעלה.
Support optional disposal of passed stream in RevisionHandler
RevisionHandler מקבל כעת פרמטר leaveOpen השולט האם ה‑stream הבסיסי יושמד כאשר המנהל מושמד. כאשר leaveOpen מוגדר ל‑true, ה‑stream נשאר פתוח לאחר שה‑RevisionHandler מושמד, מה שמאפשר למשתמש להמשיך להשתמש בו. אפשרות זו שימושית במקרים שבהם מחזור החיים של ה‑stream מנוהל חיצונית.
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