我们很高兴宣布 GroupDocs.Conversion for .NET 25.10,已于 2025年10月 发布。
此小版本带来一系列页面布局增强、新的加载选项功能以及若干关键错误修复。最显著的变化是 公共 API 重构,将页边距和尺寸设置归类到专用对象中,以提升所有转换选项的一致性。

本次发布的新功能

ID Feature
CONVERSIONNET‑8032 在转换前,支持在 EmailLoadOptions 中设置 页面尺寸、页边距和方向
CONVERSIONNET‑8013 在转换前,支持在 SpreadsheetOptions 中设置 页边距
CONVERSIONNET‑8012 在转换前,支持在 SpreadsheetOptions 中设置 页面尺寸
CONVERSIONNET‑8009 在转换前,支持在 TxtLoadOptionsWordProcessingLoadOptions 中设置 页面尺寸
CONVERSIONNET‑8008 在转换前,支持在 TxtLoadOptionsWordProcessingLoadOptions 中设置 页边距

这些新增功能让您能够在转换步骤 之前 对源文档的布局进行精细调节,从而更好地控制生成文件的外观。

API 重构 – 页面布局设置 (破坏性更改)

⚠️ 破坏性更改(自 v26.1 起生效) – 二十个单独的页边距/尺寸属性已被 弃用,将在下一个主要版本中移除。
新模型引入了两个帮助对象,以取代旧的标量属性:

Affected class Deprecated properties Replacement
PdfConvertOptions (7) MarginTop, MarginBottom, MarginLeft, MarginRightMarginSettingsPageSize, PageWidth, PageHeightSizeSettings MarginSettings (PageMarginOptions), SizeSettings (PageSizeOptions)
WordProcessingConvertOptions (7) 同 PDF 同 PDF
EBookConvertOptions (3) PageSize, PageWidth, PageHeightSizeSettings SizeSettings
CadConvertOptions (3) PageSize, PageWidth, PageHeightSizeSettings 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; }   // Setting this forces PageSize = PageSize.Custom
    public float PageHeight { get; set; }  // Setting this forces 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, // points (Letter width)
    PageHeight = 792  // points (Letter height)
};

新方式(推荐)

// 预定义尺寸
var pdfOptions = new PdfConvertOptions
{
    SizeSettings = new PageSizeOptions
    {
        PageSize = PageSize.A4
    }
};

// 自定义尺寸
var wpOptions = new WordProcessingConvertOptions
{
    SizeSettings = new PageSizeOptions
    {
        PageWidth  = 612,   // points
        PageHeight = 792    // points
        // PageSize automatically becomes PageSize.Custom
    }
};

采用新的对象可消除歧义(旧 API 将 points 与 pixels 混用),并将所有转换选项统一到可发现的模型下。

修复与增强

ID Issue type Description
CONVERSIONNET‑8031 Bug 在 .NET 上,PreserveOriginalDate 设置为 false 时以前被忽略。
CONVERSIONNET‑8023 Bug 当未提供显式转换选项时,使用流畅语法的转换会失败。
CONVERSIONNET‑8020 Bug WordProcessing 转换因缺少 Microsoft.Extensions.DependencyInjection (v8.0.0.0) 而抛出未处理异常。
CONVERSIONNET‑8006 Bug WordProcessingConvertOptionsPageWidth/PageHeight 当作像素而非 points 处理。
CONVERSIONNET‑8005 Bug 在 PDF 转换过程中,PdfConvertOptions.Margin* 属性未被尊重。

这些修复提升了最常见转换场景的可靠性,并使库行为符合 .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/

资源