We’re happy to announce GroupDocs.Assembly for .NET 25.12 – the Christmas release that’s available as of December 2025. This update adds full OOXML compliance handling, improves barcode generation on Linux, and resolves critical template‑processing issues.
本次发布的新功能
| 类别 | 问题 | 摘要 |
|---|---|---|
| 功能 | ASSEMBLYNET‑70 | 为 Word 文档实现显式的 OOXML 合规性规范。 |
| 增强 | ASSEMBLYNET‑68 | 为 Word 文档添加 OOXML 合规性支持(Ecma、Transitional、Strict)。 |
| 增强 | ASSEMBLYNET‑69 | 在可能的情况下自动保留原始文档的合规性级别。 |
| 增强 | ASSEMBLYNET‑75 | 对 Codabar 条形码强制最小 X 维度(生成更可靠)。 |
| 增强 | ASSEMBLYNET‑76 | 阻止在 Linux 上生成条形码时使用透明颜色。 |
| 修复 | ASSEMBLYNET‑73 | 现在能够正确处理内联内容控件 (SdtRun) 中的模板表达式。 |
| 修复 | ASSEMBLYNET‑60 | 条形码在 Linux (.NET 8) 程序集中不再渲染为空白。 |
OOXML 合规性支持
您现在可以在保存 Word 文档(DOCX、DOCM、DOTX 等)时选择确切的 OOXML 合规性级别。当原始文档为 Transitional 时,库还会自动保留源文档的合规性。
新公共枚举:OoxmlCompliance
namespace GroupDocs.Assembly
{
/// <summary>
/// Specifies the OOXML compliance level to use when saving Word documents to OOXML formats.
/// </summary>
public enum OoxmlCompliance
{
/// <summary>ECMA‑376 compliance.</summary>
Ecma,
/// <summary>ISO/IEC 29500:2008 Transitional compliance.</summary>
Transitional,
/// <summary>ISO/IEC 29500:2008 Strict compliance.</summary>
Strict
}
}
LoadSaveOptions 中的新属性:OoxmlCompliance
public class LoadSaveOptions
{
/// <summary>
/// 获取或设置在将 Word 文档保存为 OOXML 格式时使用的 OOXML 合规性级别。
/// 默认值为 null,表示合规性级别将自动确定。
/// </summary>
public OoxmlCompliance? OoxmlCompliance { get; set; }
}
如何指定显式的 OOXML 合规性级别
var source = "template.docx";
var target = "output.docx";
var data = "data.json";
// Create LoadSaveOptions with explicit OOXML compliance
var options = new LoadSaveOptions(FileFormat.Docx);
options.OoxmlCompliance = OoxmlCompliance.Strict; // or Ecma, Transitional
var dataSourceInfo = new DataSourceInfo(new JsonDataSource(data));
var assembler = new DocumentAssembler();
assembler.AssembleDocument(source, target, options, dataSourceInfo);
如何自动保留原始文档的合规性
var source = "template_transitional.docx"; // Document with Transitional compliance
var target = "output.docx";
var data = "data.json";
// OoxmlCompliance is null by default – original compliance will be preserved
var options = new LoadSaveOptions(FileFormat.Docx);
// options.OoxmlCompliance remains null
var dataSourceInfo = new DataSourceInfo(new JsonDataSource(data));
var assembler = new DocumentAssembler();
assembler.AssembleDocument(source, target, options, dataSourceInfo);
// Output document keeps Transitional compliance
处理内联内容控件 (SdtRun) 中的模板表达式
var source = "template_with_sdtrun.docx";
var target = "output.docx";
var data = "data.json";
// 模板文档包含:
// - SdtBlock: <<[field1]>>
// - SdtRun(内联):<<[field2]>> // 现在已正确处理
// - 普通文本:<<[field3]>>
var options = new LoadSaveOptions(FileFormat.Docx);
var dataSourceInfo = new DataSourceInfo(new JsonDataSource(data));
var assembler = new DocumentAssembler();
assembler.AssembleDocument(source, target, options, dataSourceInfo);
// All template expressions, including those in SdtRun, are replaced.
修复和增强
- [增强] Codabar 条形码生成现在强制最小 X 维度 (ASSEMBLYNET‑75)。
- [增强] Linux 上的条形码渲染避免使用透明颜色 (ASSEMBLYNET‑76)。
- [修复] 已处理
SdtRun控件内的模板表达式 (ASSEMBLYNET‑73)。 - [修复] 在 Linux (.NET 8) 上条形码不再为空白 (ASSEMBLYNET‑60)。
如何获取更新
-
NuGet – 升级到最新的 GroupDocs.Assembly 包:
dotnet add package GroupDocs.Assembly --version 25.12(同一包适用于 .NET 6+、.NET 5 和 .NET Framework 4.6.2。)
-
Direct download – 从官方发布页面下载适用于 .NET 的编译程序集: