我們很高興宣布 GroupDocs.Comparison for .NET 26.5 已於 2026 年 5 月 正式發佈。
GroupDocs.Comparison 版本 26.5 帶來 PDF 渲染精度的提升、CSV 與試算表比較可讀性的增強、用於修訂處理與試算表變更中繼資料的新 API 功能,以及支援多框架的更新版 NuGet 打包模型。
修復與增強
- [Feature] 多框架 NuGet 打包與 TFM 分割套件。 (COMPARISONNET-4770)
- [Enhancement] PDF 比較:在 Inline 模式下提升段落渲染精度。 (COMPARISONNET-4751)
- [Enhancement] 改善含表格的 PDF 文件比較結果。 (COMPARISONNET-4763)
- [Bug] 修復比較帶樣式表格的 PDF 時拋出 ArgumentOutOfRangeException。 (COMPARISONNET-4762)
- [Feature] 在 RevisionHandler 中支援可選的傳入串流釋放。 (COMPARISONNET-4773)
- [Enhancement] 使用文字標記提升 CSV 比較結果的可讀性。 (COMPARISONNET-4769)
- [Feature] 為 ChangeInfo 擴充試算表屬性。 (COMPARISONNET-4767)
- [Bug] Compare 方法在產生 HTML 輸出時拋出例外。 (COMPARISONNET-4764)
主要功能
多框架 NuGet 打包與 TFM 分割套件
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的專案應遷移至上述支援的任一 TFM。
支援在 RevisionHandler 中可選的傳入串流釋放
RevisionHandler 現在接受 leaveOpen 參數,以控制在處理器釋放時是否同時釋放底層串流。將 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);
}
為 ChangeInfo 擴充試算表屬性
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 比較輸出現在使用內嵌文字標記,使插入與刪除的內容立即可見,無需並排檢視:
- 插入 的文字會以括號包住,例如
(new value) - 刪除 的文字會以方括號包住,例如
[old value]
如何取得更新
您可以從 NuGet 取得最新版本,或直接從 GroupDocs 官方網站 下載。
NuGet
GroupDocs.Comparison for .NET 26.5
直接下載
從 GroupDocs.Comparison for .NET 26.5 頁面下載適用於 .NET 與 .NET Framework 的組件。