Мы рады объявить GroupDocs.Assembly for .NET 25.12 – рождественский релиз, доступный с декабря 2025. Это обновление добавляет полную поддержку соответствия OOXML, улучшает генерацию штрих‑кодов в Linux и решает критические проблемы обработки шаблонов.
Что нового в этом релизе
| Category | Issue | Summary |
|---|---|---|
| Feature | ASSEMBLYNET‑70 | Реализовать явную спецификацию соответствия OOXML для Word‑документов. |
| Enhancement | ASSEMBLYNET‑68 | Добавить поддержку соответствия OOXML (Ecma, Transitional, Strict) для Word‑документов. |
| Enhancement | ASSEMBLYNET‑69 | Автоматически сохранять уровень соответствия исходного документа, когда это возможно. |
| Enhancement | ASSEMBLYNET‑75 | Требовать минимальный X‑размер для штрих‑кодов Codabar (более надёжная генерация). |
| Enhancement | ASSEMBLYNET‑76 | Запретить использование прозрачных цветов при генерации штрих‑кодов в Linux. |
| Fix | ASSEMBLYNET‑73 | Выражения шаблона внутри встроенных элемент управления содержимым (SdtRun) теперь обрабатываются корректно. |
| Fix | ASSEMBLYNET‑60 | Штрих‑коды больше не отображаются пустыми в сборках Linux (.NET 8). |
Поддержка соответствия OOXML
Теперь вы можете выбрать точный уровень соответствия OOXML при сохранении Word‑документа (DOCX, DOCM, DOTX и т.д.). Библиотека также автоматически сохраняет соответствие исходного документа, если оно 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>
/// Gets or sets the OOXML compliance level to use when saving Word documents to OOXML formats.
/// The default value is null, which means the compliance level will be determined automatically.
/// </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";
// Template document contains:
// - SdtBlock: <<[field1]>>
// - SdtRun (inline): <<[field2]>> // Now correctly processed
// - Regular text: <<[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.
Исправления и улучшения
- [Enhancement] Генерация штрих‑кода Codabar теперь требует минимальный X‑размер (ASSEMBLYNET‑75).
- [Enhancement] При рендеринге штрих‑кодов в Linux избегаются прозрачные цвета (ASSEMBLYNET‑76).
- [Fix] Выражения шаблона внутри элементов
SdtRunобрабатываются (ASSEMBLYNET‑73). - [Fix] Штрих‑коды больше не отображаются пустыми в 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.)
-
Прямая загрузка – Скачайте скомпилированные сборки для .NET со страницы официального релиза: