Siamo felici di annunciare GroupDocs.Assembly per .NET 25.12 – la versione natalizia disponibile a partire da dicembre 2025. Questo aggiornamento aggiunge la gestione completa della conformità OOXML, migliora la generazione di codici a barre su Linux e risolve problemi critici di elaborazione dei modelli.

Novità di questa versione

Categoria Problema Riepilogo
Funzionalità ASSEMBLYNET‑70 Implementare la specifica esplicita di conformità OOXML per i documenti Word.
Miglioramento ASSEMBLYNET‑68 Aggiungere il supporto alla conformità OOXML (Ecma, Transitional, Strict) per i documenti Word.
Miglioramento ASSEMBLYNET‑69 Preservare automaticamente il livello di conformità del documento originale quando possibile.
Miglioramento ASSEMBLYNET‑75 Applicare una dimensione X minima per i codici a barre Codabar (generazione più affidabile).
Miglioramento ASSEMBLYNET‑76 Impedire l’uso di colori trasparenti durante la generazione dei codici a barre su Linux.
Correzione ASSEMBLYNET‑73 Le espressioni di modello all’interno dei controlli di contenuto inline (SdtRun) sono ora elaborate correttamente.
Correzione ASSEMBLYNET‑60 I codici a barre non vengono più renderizzati vuoti nelle assembly Linux (.NET 8).

Supporto alla conformità OOXML

Ora puoi scegliere il livello esatto di conformità OOXML durante il salvataggio di un documento Word (DOCX, DOCM, DOTX, ecc.). La libreria preserva anche automaticamente la conformità del documento sorgente quando l’originale è Transitional.

Nuova enumerazione pubblica: OoxmlCompliance

namespace GroupDocs.Assembly
{
    /// <summary>
    /// Specifica il livello di conformità OOXML da utilizzare durante il salvataggio dei documenti Word in formati OOXML.
    /// </summary>
    public enum OoxmlCompliance
    {
        /// <summary>Conformità ECMA‑376.</summary>
        Ecma,

        /// <summary>Conformità ISO/IEC 29500:2008 Transitional.</summary>
        Transitional,

        /// <summary>Conformità ISO/IEC 29500:2008 Strict.</summary>
        Strict
    }
}

Nuova proprietà in LoadSaveOptions: OoxmlCompliance

public class LoadSaveOptions
{
    /// <summary>
    /// Ottiene o imposta il livello di conformità OOXML da utilizzare durante il salvataggio dei documenti Word in formati OOXML.
    /// Il valore predefinito è null, il che significa che il livello di conformità verrà determinato automaticamente.
    /// </summary>
    public OoxmlCompliance? OoxmlCompliance { get; set; }
}

Come specificare un livello di conformità OOXML esplicito

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

Come preservare automaticamente la conformità del documento originale

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

Elaborazione delle espressioni di modello nei controlli di contenuto inline (SdtRun)

var source = "template_with_sdtrun.docx";
var target = "output.docx";
var data   = "data.json";

// Il documento modello contiene:
// - SdtBlock: <<[field1]>>
// - SdtRun (inline): <<[field2]>>   // Ora correttamente elaborato
// - Testo regolare: <<[field3]>>

var options = new LoadSaveOptions(FileFormat.Docx);
var dataSourceInfo = new DataSourceInfo(new JsonDataSource(data));
var assembler = new DocumentAssembler();
assembler.AssembleDocument(source, target, options, dataSourceInfo);
// Tutte le espressioni di modello, incluse quelle in SdtRun, sono sostituite.

Correzioni e miglioramenti

  • [Miglioramento] La generazione di codici a barre Codabar ora impone una dimensione X minima (ASSEMBLYNET‑75).
  • [Miglioramento] Il rendering dei codici a barre su Linux evita i colori trasparenti (ASSEMBLYNET‑76).
  • [Correzione] Le espressioni di modello all’interno dei controlli SdtRun sono elaborate (ASSEMBLYNET‑73).
  • [Correzione] I codici a barre non appaiono più vuoti su Linux (.NET 8) (ASSEMBLYNET‑60).

Come ottenere l’aggiornamento

  • NuGet – Aggiorna al più recente pacchetto GroupDocs.Assembly:

    dotnet add package GroupDocs.Assembly --version 25.12
    

    (Lo stesso pacchetto funziona per .NET 6+, .NET 5 e .NET Framework 4.6.2.)

  • Download diretto – Scarica le assembly compilate per .NET dalla pagina di rilascio ufficiale:

    GroupDocs.Assembly for .NET 25.12 DLLs only

Risorse