Nos complace anunciar GroupDocs.Assembly for .NET 25.12 – la versión navideña que está disponible a partir de diciembre de 2025. Esta actualización agrega un manejo completo de la conformidad OOXML, mejora la generación de códigos de barras en Linux y resuelve problemas críticos de procesamiento de plantillas.

Novedades en esta versión

Categoría Problema Resumen
Funcionalidad ASSEMBLYNET‑70 Implementar especificación explícita de conformidad OOXML para documentos Word.
Mejora ASSEMBLYNET‑68 Agregar soporte de conformidad OOXML (Ecma, Transitional, Strict) para documentos Word.
Mejora ASSEMBLYNET‑69 Preservar automáticamente el nivel de conformidad del documento original cuando sea posible.
Mejora ASSEMBLYNET‑75 Aplicar una dimensión X mínima para códigos de barras Codabar (generación más fiable).
Mejora ASSEMBLYNET‑76 Evitar que se utilicen colores transparentes durante la generación de códigos de barras en Linux.
Corrección ASSEMBLYNET‑73 Las expresiones de plantilla dentro de controles de contenido en línea (SdtRun) ahora se procesan correctamente.
Corrección ASSEMBLYNET‑60 Los códigos de barras ya no se muestran en blanco en ensamblados Linux (.NET 8).

Compatibilidad con conformidad OOXML

Ahora puede elegir el nivel exacto de conformidad OOXML al guardar un documento Word (DOCX, DOCM, DOTX, etc.). La biblioteca también preserva automáticamente la conformidad del documento de origen cuando el original es Transitional.

Nueva enumeración pública: 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
    }
}

Nueva propiedad en 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; }
}

Cómo especificar un nivel explícito de conformidad 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);

Cómo preservar automáticamente la conformidad del documento original

var source = "template_transitional.docx"; // Document with Transitional compliance
var target = "output.docx";
var data   = "data.json";

// OoxmlCompliance es nulo por defecto – se preservará la conformidad original
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

Procesamiento de expresiones de plantilla en controles de contenido en línea (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.

Correcciones y mejoras

  • [Mejora] La generación de códigos de barras Codabar ahora impone una dimensión X mínima (ASSEMBLYNET‑75).
  • [Mejora] El renderizado de códigos de barras en Linux evita colores transparentes (ASSEMBLYNET‑76).
  • [Corrección] Las expresiones de plantilla dentro de controles SdtRun se procesan (ASSEMBLYNET‑73).
  • [Corrección] Los códigos de barras ya no aparecen en blanco en Linux (.NET 8) (ASSEMBLYNET‑60).

Cómo obtener la actualización

  • NuGet – Actualice al paquete más reciente GroupDocs.Assembly:

    dotnet add package GroupDocs.Assembly --version 25.12
    

    (El mismo paquete funciona para .NET 6+, .NET 5 y .NET Framework 4.6.2.)

  • Descarga directa – Descargue los ensamblados compilados para .NET desde la página oficial de lanzamiento:

    GroupDocs.Assembly para .NET 25.12 solo DLLs

Recursos