אנחנו שמחים להודיע על השחרור של GroupDocs.Comparison for .NET 26.5, זמין החל מ-מאי 2026.
GroupDocs.Comparison גרסה 26.5 מביאה שיפורים בדיוק הצגת PDF, קריאות משופרת של השוואת CSV וגיליונות אלקטרוניים, יכולות API חדשות לטיפול ברוויזיות ונתוני שינוי בגיליונות, וכן מודל אריזת NuGet מעודכן עם תמיכה בריבוי‑מסגרות.
תיקונים ושיפורים
- [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 עם מאפייני Spreadsheet. (COMPARISONNET-4767)
- [Bug] מתודת Compare זורקת חריגה עבור פלט HTML. (COMPARISONNET-4764)
תכונות מרכזיות
אריזת NuGet מרובת‑מסגרות וחבילות מפוצלות לפי TFM
GroupDocs.Comparison עבר למודל הפצה מתקדם יותר של חבילות NuGet. החבילה הראשית כעת תומכת ב‑net462;net6.0;net8.0;net10.0, במקום ה‑targets הקודמים 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 אינו נתמך יותר כ‑target ייעודי. פרויקטים שהיו תלויים ב‑
netstandard2.1צריכים לעבור לאחת מה‑TFM הנתמכות המופיעות למעלה.
תמיכה בפינוי אופציונלי של ה‑Stream שהועבר ל‑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);
}
הרחבת ChangeInfo עם מאפייני Spreadsheet
הוספו שלוש מאפיינים חדשים ל‑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 }));
}
שיפורים
שיפור קריאות תוצאות השוואת CSV עם סימוני טקסט
פלט השוואת CSV משתמש כעת בסימוני טקסט inline כדי להפוך תוכן שהוכנס או הוסר לנראה מיידית ללא צורך בתצוגה צידית‑צדית:
- טקסט הוכנס מוקף בסוגריים — לדוגמה,
(new value) - טקסט הוסר מוקף בסוגריים מרובעים — לדוגמה,
[old value]
איך לקבל את העדכון
אתה יכול לקבל את הגרסה העדכנית מ‑NuGet או להוריד אותה ישירות מאתר GroupDocs.
NuGet
GroupDocs.Comparison for .NET 26.5
הורדה ישירה
הורד אסמבלי עבור .NET ו‑.NET Framework מהדף GroupDocs.Comparison for .NET 26.5.