Nous sommes heureux d’annoncer GroupDocs.Assembly for .NET 25.12 – la version de Noël disponible depuis décembre 2025. Cette mise à jour ajoute une prise en charge complète de la conformité OOXML, améliore la génération de codes‑barres sous Linux et résout des problèmes critiques de traitement des modèles.

Nouveautés de cette version

Catégorie Problème Résumé
Fonctionnalité ASSEMBLYNET‑70 Implémenter une spécification explicite de conformité OOXML pour les documents Word.
Amélioration ASSEMBLYNET‑68 Ajouter la prise en charge de la conformité OOXML (Ecma, Transitional, Strict) pour les documents Word.
Amélioration ASSEMBLYNET‑69 Conserver automatiquement le niveau de conformité du document original lorsqu’il est possible.
Amélioration ASSEMBLYNET‑75 Imposer une dimension X minimale pour les codes‑barres Codabar (génération plus fiable).
Amélioration ASSEMBLYNET‑76 Empêcher l’utilisation de couleurs transparentes lors de la génération de codes‑barres sous Linux.
Correction ASSEMBLYNET‑73 Les expressions de modèle à l’intérieur des contrôles de contenu en ligne (SdtRun) sont maintenant traitées correctement.
Correction ASSEMBLYNET‑60 Les codes‑barres ne s’affichent plus vides sur les assemblages Linux (.NET 8).

Prise en charge de la conformité OOXML

Vous pouvez désormais choisir le niveau exact de conformité OOXML lors de l’enregistrement d’un document Word (DOCX, DOCM, DOTX, etc.). La bibliothèque préserve également automatiquement la conformité du document source lorsque l’original est Transitional.

Nouvelle énumération publique : 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
    }
}

Nouvelle propriété dans 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; }
}

Comment spécifier un niveau de conformité OOXML explicite

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);

Comment préserver automatiquement la conformité du document original

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

Traitement des expressions de modèle dans les contrôles de contenu en ligne (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.

Corrections et améliorations

  • [Amélioration] La génération de code‑barres Codabar impose désormais une dimension X minimale (ASSEMBLYNET‑75).
  • [Amélioration] Le rendu des code‑barres sous Linux évite les couleurs transparentes (ASSEMBLYNET‑76).
  • [Correction] Les expressions de modèle à l’intérieur des contrôles SdtRun sont traitées (ASSEMBLYNET‑73).
  • [Correction] Les codes‑barres n’apparaissent plus vides sous Linux (.NET 8) (ASSEMBLYNET‑60).

Comment obtenir la mise à jour

  • NuGet – Mettez à jour vers le dernier package GroupDocs.Assembly :

    dotnet add package GroupDocs.Assembly --version 25.12
    

    (Le même package fonctionne pour .NET 6+, .NET 5 et .NET Framework 4.6.2.)

  • Téléchargement direct – Téléchargez les assemblages compilés pour .NET depuis la page officielle de diffusion :

    GroupDocs.Assembly for .NET 25.12 DLLs only

Ressources