我們很高興宣布 GroupDocs.Assembly for .NET 25.12 – 這個聖誕版已於 2025 年 12 月 推出。此更新加入完整的 OOXML 合規處理、改善 Linux 上的條碼產生,並解決關鍵的模板處理問題。
此版本的新功能
| 類別 | 問題 | 摘要 |
|---|---|---|
| 功能 | ASSEMBLYNET‑70 | 為 Word 文件實作明確的 OOXML 合規規範。 |
| 增強 | ASSEMBLYNET‑68 | 為 Word 文件新增 OOXML 合規支援(Ecma、Transitional、Strict)。 |
| 增強 | ASSEMBLYNET‑69 | 在可能的情況下自動保留原始文件的合規等級。 |
| 增強 | ASSEMBLYNET‑75 | 強制 Codabar 條碼的最小 X 維度(更可靠的生成)。 |
| 增強 | ASSEMBLYNET‑76 | 防止在 Linux 上生成條碼時使用透明顏色。 |
| 修復 | ASSEMBLYNET‑73 | SdtRun 內聯內容控制項中的模板表達式現在正確處理。 |
| 修復 | ASSEMBLYNET‑60 | 條碼在 Linux(.NET 8)組件中不再呈現空白。 |
OOXML 合規支援
現在您可以在儲存 Word 文件(DOCX、DOCM、DOTX 等)時選擇精確的 OOXML 合規等級。當原始文件為 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 維度 (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。)
-
直接下載 – 從官方發行頁面下載 .NET 的編譯組件: