GroupDocs.Signature для .NET 26.6 теперь доступен. Этот выпуск добавляет контроль соответствия OOXML для документов WordProcessing, улучшает работу в режиме пробной лицензии для архивов и многослойных изображений, а также вводит модель поставки NuGet с несколькими фреймворками и отдельными пакетами для каждого TFM.

What’s new in this release

Ключ Категория Описание
SIGNATURENET-5634 Feature Поддержка и соблюдение соответствия OOXML для документов WordProcessing
SIGNATURENET-5822 Enhancement Пакетирование NuGet для нескольких фреймворков и разделённые пакеты по TFM
SIGNATURENET-5825 Enhancement Рефакторинг ограничений пробной лицензии
SIGNATURENET-5705 Enhancement Внутренние улучшения

New features

Support and respect OOXML compliance for WordProcessing documents

GroupDocs.Signature теперь сохраняет исходный уровень соответствия OOXML документов WordProcessing и позволяет переопределить его при сохранении через API.

Что изменилось:

  • Исходное значение OoxmlCompliance обнаруживается при загрузке документа и по умолчанию сохраняется при сохранении.
  • WordProcessingSaveOptions предоставляет новое nullable‑свойство OoxmlCompliance. Когда оно null (по умолчанию), сохраняется соответствие загруженного документа; при установке значение переопределяет исходное.
  • Учитывается только для форматов вывода OOXML: Docx, Docm, Dotx, Dotm и их варианты FlatOpc.

Новый enum:

public enum OoxmlCompliance
{
    /// <summary>Specifies ECMA-376 compliance level.</summary>
    Ecma,
    /// <summary>Specifies ISO/IEC 29500:2008 Transitional compliance level.</summary>
    Transitional,
    /// <summary>Specifies ISO/IEC 29500:2008 Strict compliance level.</summary>
    Strict
}

Code example

using (Signature signature = new Signature(filePath))
{
    TextSignOptions signOptions = new TextSignOptions("John Smith")
    {
        Left = 100,
        Top = 100,
        Width = 200,
        Height = 60
    };

    // Force ISO 29500:2008 Strict on save regardless of the source's compliance.
    // Other allowed values: OoxmlCompliance.Ecma, OoxmlCompliance.Transitional.
    WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingSaveFileFormat.Docx)
    {
        OoxmlCompliance = OoxmlCompliance.Strict
    };

    SignResult result = signature.Sign(outputFilePath, signOptions, saveOptions);
}

How to get the update

NuGet

Пакет Целевые фреймворк(ы)
GroupDocs.Signature netstandard2.1; net45; net6.0; net8.0 (все фреймворки)
GroupDocs.Signature.netstandard2.1 .NET Standard 2.1
GroupDocs.Signature.net45 .NET Framework 4.5
GroupDocs.Signature.net6 .NET 6.0
GroupDocs.Signature.net8 .NET 8.0

Обновите до последней версии пакета через NuGet. Выберите пакет, соответствующий вашему целевому фреймворку, чтобы загрузить только необходимые бинарные файлы.