Wir freuen uns, GroupDocs.Assembly for .NET 25.12 – die Weihnachtsversion – anzukündigen, die ab Dezember 2025 verfügbar ist. Dieses Update fügt eine vollständige OOXML‑Compliance‑Verarbeitung hinzu, verbessert die Barcode‑Erzeugung unter Linux und behebt kritische Probleme bei der Vorlagenverarbeitung.

Was ist neu in dieser Version

Kategorie Problem Zusammenfassung
Funktion ASSEMBLYNET‑70 Implementieren einer expliziten OOXML‑Compliance‑Spezifikation für Word‑Dokumente.
Verbesserung ASSEMBLYNET‑68 Hinzufügen der OOXML‑Compliance‑Unterstützung (Ecma, Transitional, Strict) für Word‑Dokumente.
Verbesserung ASSEMBLYNET‑69 Automatisches Beibehalten der Compliance‑Stufe des Originaldokuments, wenn möglich.
Verbesserung ASSEMBLYNET‑75 Durchsetzen einer minimalen X‑Dimension für Codabar‑Barcodes (zuverlässigere Erzeugung).
Verbesserung ASSEMBLYNET‑76 Verhindern der Verwendung transparenter Farben bei der Barcode‑Erzeugung unter Linux.
Fehlerbehebung ASSEMBLYNET‑73 Vorlagenausdrücke innerhalb von Inline‑Inhaltssteuerelementen (SdtRun) werden jetzt korrekt verarbeitet.
Fehlerbehebung ASSEMBLYNET‑60 Barcodes werden unter Linux (.NET 8) nicht mehr leer dargestellt.

OOXML‑Compliance‑Unterstützung

Sie können jetzt beim Speichern eines Word‑Dokuments (DOCX, DOCM, DOTX usw.) die genaue OOXML‑Compliance‑Stufe auswählen. Die Bibliothek bewahrt zudem automatisch die Compliance des Ausgangsdokuments, wenn das Original Transitional ist.

Neue öffentliche Aufzählung: 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
    }
}

Neue Eigenschaft in 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; }
}

Wie man eine explizite OOXML‑Compliance‑Stufe angibt

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

Wie man die ursprüngliche Dokument‑Compliance automatisch beibehält

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

Verarbeiten von Vorlagenausdrücken in Inline‑Inhaltssteuerelementen (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.

Fehlerbehebungen und Verbesserungen

  • [Verbesserung] Codabar‑Barcode‑Erzeugung erzwingt jetzt eine minimale X‑Dimension (ASSEMBLYNET‑75).
  • [Verbesserung] Barcode‑Darstellung unter Linux vermeidet transparente Farben (ASSEMBLYNET‑76).
  • [Fehlerbehebung] Vorlagenausdrücke innerhalb von SdtRun‑Steuerelementen werden verarbeitet (ASSEMBLYNET‑73).
  • [Fehlerbehebung] Barcodes erscheinen unter Linux (.NET 8) nicht mehr leer (ASSEMBLYNET‑60).

Wie Sie das Update erhalten

  • NuGet – Aktualisieren Sie auf das neueste GroupDocs.Assembly‑Paket:

    dotnet add package GroupDocs.Assembly --version 25.12
    

    (Das gleiche Paket funktioniert für .NET 6+, .NET 5 und .NET Framework 4.6.2.)

  • Direkter Download – Laden Sie die kompilierten Assemblies für .NET von der offiziellen Release‑Seite herunter:

    GroupDocs.Assembly für .NET 25.12 nur DLLs

Ressourcen