我們很高興宣布 GroupDocs.Conversion for .NET 25.10,於 2025 年 10 月 正式發佈。
此次次要更新帶來了一系列頁面版面增強功能、新的載入選項能力,以及若干關鍵錯誤修復。最顯著的變化是 公共 API 重構,將邊距與尺寸設定集中到專屬物件中,提升所有轉換選項的一致性。

本次發佈的新功能

ID 功能
CONVERSIONNET‑8032 在 EmailLoadOptions 轉換前,新增支援設定 頁面尺寸、邊距與方向。
CONVERSIONNET‑8013 在 SpreadsheetOptions 轉換前,新增支援設定 頁面邊距。
CONVERSIONNET‑8012 在 SpreadsheetOptions 轉換前,新增支援設定 頁面尺寸。
CONVERSIONNET‑8009 在 TxtLoadOptions 與 WordProcessingLoadOptions 轉換前,新增支援設定 頁面尺寸。
CONVERSIONNET‑8008 在 TxtLoadOptions 與 WordProcessingLoadOptions 轉換前,新增支援設定 頁面邊距。

這些功能讓您能在 轉換步驟之前 微調來源文件的版面,從而更精確地控制最終檔案的外觀。

API 重構 – 頁面版面設定 (不相容變更)

⚠️ 不相容變更(自 v26.1 起生效) – 二十個單一的邊距/尺寸屬性已 棄用,將在下一個大版本中移除。
新模型引入兩個輔助物件以取代舊的純量屬性:

受影響類別 已棄用屬性 替代方案
PdfConvertOptions (7) MarginTop、MarginBottom、MarginLeft、MarginRight → MarginSettingsPageSize、PageWidth、PageHeight → SizeSettings MarginSettings(PageMarginOptions)、SizeSettings(PageSizeOptions)
WordProcessingConvertOptions (7) 同 PDF 同 PDF
EBookConvertOptions (3) PageSize、PageWidth、PageHeight → SizeSettings SizeSettings
CadConvertOptions (3) PageSize、PageWidth、PageHeight → SizeSettings SizeSettings

新的輔助類別

public class PageMarginOptions
{
    public float? Top { get; set; }
    public float? Bottom { get; set; }
    public float? Left { get; set; }
    public float? Right { get; set; }
}
public sealed class PageSizeOptions
{
    public PageSize PageSize { get; set; }
    public float PageWidth { get; set; }   // 設定此屬性會強制 PageSize = PageSize.Custom
    public float PageHeight { get; set; }  // 設定此屬性會強制 PageSize = PageSize.Custom
}

遷移指南

遷移頁面邊距

舊寫法(已棄用)

var options = new PdfConvertOptions
{
    MarginTop    = 10,
    MarginBottom = 10,
    MarginLeft   = 20,
    MarginRight  = 20
};

新寫法(建議)

var options = new PdfConvertOptions
{
    MarginSettings = new PageMarginOptions
    {
        Top    = 10,
        Bottom = 10,
        Left   = 20,
        Right  = 20
    }
};

遷移頁面尺寸設定

舊寫法(已棄用)

// 預設尺寸
var pdfOptions = new PdfConvertOptions
{
    PageSize = PageSize.A4
};

// 客製化尺寸
var wpOptions = new WordProcessingConvertOptions
{
    PageWidth  = 612, // 點(Letter 寬度)
    PageHeight = 792  // 點(Letter 高度)
};

新寫法(建議)

// 預設尺寸
var pdfOptions = new PdfConvertOptions
{
    SizeSettings = new PageSizeOptions
    {
        PageSize = PageSize.A4
    }
};

// 客製化尺寸
var wpOptions = new WordProcessingConvertOptions
{
    SizeSettings = new PageSizeOptions
    {
        PageWidth  = 612,   // 點
        PageHeight = 792    // 點
        // PageSize 會自動變為 PageSize.Custom
    }
};

採用新物件可消除歧義(舊 API 同時混用點與像素),並將所有轉換選項統一於可發現的模型之下。

修復與增強

ID 問題類型 描述
CONVERSIONNET‑8031 錯誤 在 .NET 上 PreserveOriginalDate 設為 false 時先前被忽略。
CONVERSIONNET‑8023 錯誤 當未提供明確的轉換選項時,流暢語法的轉換會失敗。
CONVERSIONNET‑8020 錯誤 WordProcessing 轉換因缺少 Microsoft.Extensions.DependencyInjection(v8.0.0.0)而拋出未處理例外。
CONVERSIONNET‑8006 錯誤 WordProcessingConvertOptions 的 PageWidth/PageHeight 被當作像素而非點。
CONVERSIONNET‑8005 錯誤 PdfConvertOptions.Margin* 屬性在 PDF 轉換過程中未被遵守。

這些修復提升了最常見轉換情境的可靠性,並使函式庫更加符合 .NET 的預期行為。

如何取得更新

  • NuGet – 升級至最新的 GroupDocs.Conversion 套件:

    dotnet add package GroupDocs.Conversion --version 25.10
    

    (同一套件支援 .NET 6+、.NET Framework 4.6.2 以及 .NET Core。)

  • 直接下載 – .NET 與 .NET Framework 的組件皆可於發佈頁面取得:
    https://releases.groupdocs.com/conversion/net/25-10/

相關資源