Z radością ogłaszamy GroupDocs.Assembly for .NET 25.12 – świąteczną wersję, dostępną od grudnia 2025. Ta aktualizacja dodaje pełne obsługi zgodności OOXML, poprawia generowanie kodów kreskowych w systemie Linux i rozwiązuje krytyczne problemy przetwarzania szablonów.
Co nowego w tej wersji
| Kategoria | Problem | Podsumowanie |
|---|---|---|
| Funkcja | ASSEMBLYNET‑70 | Wdrożenie explicite specyfikacji zgodności OOXML dla dokumentów Word. |
| Ulepszenie | ASSEMBLYNET‑68 | Dodanie wsparcia zgodności OOXML (Ecma, Transitional, Strict) dla dokumentów Word. |
| Ulepszenie | ASSEMBLYNET‑69 | Automatyczne zachowanie poziomu zgodności oryginalnego dokumentu, gdy to możliwe. |
| Ulepszenie | ASSEMBLYNET‑75 | Wymuszenie minimalnego wymiaru X dla kodów kreskowych Codabar (bardziej niezawodne generowanie). |
| Ulepszenie | ASSEMBLYNET‑76 | Zapobieganie używaniu przezroczystych kolorów podczas generowania kodów kreskowych w systemie Linux. |
| Poprawka | ASSEMBLYNET‑73 | Wyrażenia szablonowe wewnątrz kontrolki treści inline (SdtRun) są teraz przetwarzane poprawnie. |
| Poprawka | ASSEMBLYNET‑60 | Kody kreskowe nie są już renderowane jako puste w zestawach Linux (.NET 8). |
Obsługa zgodności OOXML
Możesz teraz wybrać dokładny poziom zgodności OOXML podczas zapisywania dokumentu Word (DOCX, DOCM, DOTX itp.). Biblioteka automatycznie zachowuje zgodność źródłowego dokumentu, gdy oryginał jest Transitional.
Nowa publiczna enumeracja: OoxmlCompliance
namespace GroupDocs.Assembly
{
/// <summary>
/// Określa poziom zgodności OOXML używany przy zapisywaniu dokumentów Word w formatach OOXML.
/// </summary>
public enum OoxmlCompliance
{
/// <summary>Zgodność z ECMA‑376.</summary>
Ecma,
/// <summary>Zgodność z ISO/IEC 29500:2008 Transitional.</summary>
Transitional,
/// <summary>Zgodność z ISO/IEC 29500:2008 Strict.</summary>
Strict
}
}
Nowa właściwość w LoadSaveOptions: OoxmlCompliance
public class LoadSaveOptions
{
/// <summary>
/// Pobiera lub ustawia poziom zgodności OOXML używany przy zapisywaniu dokumentów Word w formatach OOXML.
/// Domyślna wartość to null, co oznacza, że poziom zgodności zostanie określony automatycznie.
/// </summary>
public OoxmlCompliance? OoxmlCompliance { get; set; }
}
Jak określić explicite poziom zgodności OOXML
var source = "template.docx";
var target = "output.docx";
var data = "data.json";
// Utwórz LoadSaveOptions z explicite określoną zgodnością OOXML
var options = new LoadSaveOptions(FileFormat.Docx);
options.OoxmlCompliance = OoxmlCompliance.Strict; // lub Ecma, Transitional
var dataSourceInfo = new DataSourceInfo(new JsonDataSource(data));
var assembler = new DocumentAssembler();
assembler.AssembleDocument(source, target, options, dataSourceInfo);
Jak automatycznie zachować zgodność oryginalnego dokumentu
var source = "template_transitional.docx"; // Dokument z zgodnością Transitional
var target = "output.docx";
var data = "data.json";
// OoxmlCompliance jest domyślnie null – oryginalna zgodność zostanie zachowana
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);
// Dokument wyjściowy zachowuje zgodność Transitional
Przetwarzanie wyrażeń szablonowych w kontrolkach treści inline (SdtRun)
var source = "template_with_sdtrun.docx";
var target = "output.docx";
var data = "data.json";
// Dokument szablonu zawiera:
// - SdtBlock: <<[field1]>>
// - SdtRun (inline): <<[field2]>> // Teraz przetwarzane poprawnie
// - 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);
// Wszystkie wyrażenia szablonowe, w tym te w SdtRun, są zastępowane.
Poprawki i ulepszenia
- [Ulepszenie] Generowanie kodu kreskowego Codabar teraz wymusza minimalny wymiar X (ASSEMBLYNET‑75).
- [Ulepszenie] Renderowanie kodów kreskowych w Linuxie unika przezroczystych kolorów (ASSEMBLYNET‑76).
- [Poprawka] Wyrażenia szablonowe wewnątrz kontrolek
SdtRunsą przetwarzane (ASSEMBLYNET‑73). - [Poprawka] Kody kreskowe nie pojawiają się już pustymi w Linuxie (.NET 8) (ASSEMBLYNET‑60).
Jak uzyskać aktualizację
-
NuGet – Aktualizacja do najnowszego pakietu GroupDocs.Assembly:
dotnet add package GroupDocs.Assembly --version 25.12(Ten sam pakiet działa na .NET 6+, .NET 5 oraz .NET Framework 4.6.2.)
-
Direct download – Pobierz skompilowane zestawy dla .NET ze strony oficjalnego wydania: