We’re happy to announce GroupDocs.Assembly for .NET 25.12 – the Christmas release that’s available as of December 2025. This update adds full OOXML compliance handling, improves barcode generation on Linux, and resolves critical template‑processing issues.

ما الجديد في هذا الإصدار

الفئة المشكلة الملخص
ميزة ASSEMBLYNET‑70 تنفيذ مواصفة امتثال صريحة لـ OOXML لمستندات Word.
تحسين ASSEMBLYNET‑68 إضافة دعم امتثال OOXML (Ecma، Transitional، Strict) لمستندات Word.
تحسين ASSEMBLYNET‑69 الحفاظ على مستوى امتثال المستند الأصلي تلقائيًا عندما يكون ذلك ممكنًا.
تحسين ASSEMBLYNET‑75 فرض الحد الأدنى للبعد X لباركودات Codabar (توليد أكثر موثوقية).
تحسين ASSEMBLYNET‑76 منع استخدام الألوان الشفافة أثناء توليد الباركود على لينكس.
تصحيح ASSEMBLYNET‑73 تُعالَج الآن تعبيرات القالب داخل عناصر التحكم المحتوى المتضمنة (SdtRun) بشكل صحيح.
تصحيح ASSEMBLYNET‑60 لم تعد باركودات تُظهر فراغًا على تجميعات لينكس (.NET 8).

دعم امتثال OOXML

يمكنك الآن اختيار مستوى الامتثال الدقيق لـ OOXML عند حفظ مستند Word (DOCX، DOCM، DOTX، إلخ). كما أن المكتبة تحافظ تلقائيًا على امتثال المستند الأصلي عندما يكون الأصلي Transitional.

تعداد عام جديد: 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
    }
}

خاصية جديدة في 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; }
}

كيف تحدد مستوى امتثال 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);

كيف تحافظ على امتثال المستند الأصلي تلقائيًا

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

معالجة تعبيرات القالب في عناصر التحكم المحتوى المتضمنة (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.

التصحيحات والتحسينات

  • [Enhancement] توليد باركود Codabar يفرض الآن الحد الأدنى للبعد X (ASSEMBLYNET‑75).
  • [Enhancement] عرض الباركود على لينكس يتجنب الألوان الشفافة (ASSEMBLYNET‑76).
  • [Fix] يتم معالجة تعبيرات القالب داخل عناصر التحكم SdtRun (ASSEMBLYNET‑73).
  • [Fix] لم تعد الباركود تظهر فارغة على لينكس (.NET 8) (ASSEMBLYNET‑60).

كيف تحصل على التحديث

  • NuGet – Upgrade to the latest GroupDocs.Assembly package:

    dotnet add package GroupDocs.Assembly --version 25.12
    

    (الحزمة نفسها تعمل مع .NET 6+، .NET 5، و .NET Framework 4.6.2.)

  • Direct download – Download the compiled assemblies for .NET from the official release page:

    GroupDocs.Assembly لنظام .NET 25.12 (ملفات DLL فقط)

الموارد