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
SdtRunse 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: