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용 컴파일된 어셈블리를 다운로드합니다: