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 Word 문서에 대한 명시적 OOXML 준수 사양을 구현합니다.
향상 ASSEMBLYNET‑68 Word 문서에 대한 OOXML 준수 지원 (Ecma, Transitional, Strict)을 추가합니다.
향상 ASSEMBLYNET‑69 가능한 경우 원본 문서의 준수 수준을 자동으로 유지합니다.
향상 ASSEMBLYNET‑75 Codabar 바코드에 최소 X‑dimension을 적용하여 더 안정적인 생성을 보장합니다.
향상 ASSEMBLYNET‑76 Linux에서 바코드 생성 시 투명 색상이 사용되지 않도록 방지합니다.
수정 ASSEMBLYNET‑73 인라인 콘텐츠 컨트롤(SdtRun) 내부의 템플릿 식이 이제 올바르게 처리됩니다.
수정 ASSEMBLYNET‑60 Linux (.NET 8) 어셈블리에서 바코드가 더 이상 빈 화면으로 표시되지 않습니다.

OOXML 준수 지원

이제 Word 문서를 저장할 때 정확한 OOXML 준수 수준을 선택할 수 있습니다 (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.

수정 및 향상

  • [향상] Codabar 바코드 생성이 이제 최소 X‑dimension을 적용합니다 (ASSEMBLYNET‑75).
  • [향상] Linux에서 바코드 렌더링 시 투명 색상을 피합니다 (ASSEMBLYNET‑76).
  • [수정] SdtRun 컨트롤 내부의 템플릿 식이 처리됩니다 (ASSEMBLYNET‑73).
  • [수정] Linux (.NET 8)에서 바코드가 더 이상 빈 화면으로 나타나지 않습니다 (ASSEMBLYNET‑60).

업데이트 받는 방법

  • NuGet – 최신 GroupDocs.Assembly 패키지로 업그레이드합니다:

    dotnet add package GroupDocs.Assembly --version 25.12
    

    (같은 패키지는 .NET 6+, .NET 5 및 .NET Framework 4.6.2에서도 작동합니다.)

  • Direct download – 공식 릴리스 페이지에서 .NET용 컴파일된 어셈블리를 다운로드합니다:

    GroupDocs.Assembly for .NET 25.12 DLL 전용

리소스