There are 18 features, improvements, and bug fixes in this release. This update reinforces CAD conversion with layout‑level selection, per‑layout output (slides, worksheets, pages, SVG, etc.), and adds XAR and CAB as compression targets, as well as Mermaid MMD and Drawio as diagram sources/targets.

Co je nového v tomto vydání

Klíč Kategorie Shrnutí
CONVERSIONNET-8437 Funkce Přidat formát souboru Drawio jako cíl konverze pro diagramové dokumenty
CONVERSIONNET-8442 Funkce Přidat formát souboru Mermaid MMD jako zdroj konverze pro diagramové dokumenty
CONVERSIONNET-8445 Funkce Přidat CAB jako cíl konverze pro kompresní dokumenty
CONVERSIONNET-8459 Funkce Přidat CadLayoutScope do CadLoadOptions pro konverzi modelového prostoru, papírových rozvržení nebo obojího
CONVERSIONNET-8464 Funkce Přidat XAR jako zdroj i cíl konverze pro kompresní dokumenty
CONVERSIONNET-8460 Vylepšení Převést každé CAD rozvržení na vlastní snímek, list, stránku Wordu, HTML/MHTML obrázek a SVG oblast
CONVERSIONNET-8461 Vylepšení Pojmenovat chybějící rozvržení, když výběr CAD rozvržení neodpovídá žádnému
CONVERSIONNET-8462 Vylepšení Nahlásit nenastavený LoadOptions.Format jako chybějící místo vyhození výjimky
CONVERSIONNET-8361 Chyba Tvary DOCX s obrysy jsou při konverzi do PDF vykresleny nesprávně
CONVERSIONNET-8396 Chyba Převod souboru Presentation do PDF vede k nekonzistentním záhlavím/patičkám
CONVERSIONNET-8399 Chyba Převod souboru Presentation s poškozenými souhrnnými odkazy vede k výjimce GroupDocsConversionException
CONVERSIONNET-8426 Chyba Konverze souboru DWG do PDF podle nastavení orientace listu na stránce
CONVERSIONNET-8427 Chyba Opravit NullReferenceException při konverzi CAD výkresů bez aktivního rozvržení
CONVERSIONNET-8428 Chyba Opravit dvojitou konverzi jednotek, když je pro CAD konverze nastaven explicitní rozměr stránky
CONVERSIONNET-8429 Chyba Opravit, že CAD na PDF/UA ignoruje CadLoadOptions
CONVERSIONNET-8430 Chyba Opravit, že CadDocumentInfo hlásí jednu stránku pro CAD dokumenty s více rozvrženími
CONVERSIONNET-8444 Chyba Problém s náhledem v linuxovém prostředí pro GroupDocs.Conversion
CONVERSIONNET-8467 Chyba EML na PDF: Výjimka nekompatibilních typů jednotek

Změny veřejného API

⚠️ Zpětně nekompatibilní změny – Následující aktualizace mění stávající veřejné chování. Upravte svůj kód, aby nedocházelo k chybám za běhu.

1. LoadOptions.Format nyní vrací null místo vyhození výjimky, když není formát nastaven

Ovlivněné třídy: všechny 28 typizovaných load‑options (např., SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Co se změnilo
Čtení vlastnosti Format před přiřazením formátu dříve vyvolávalo výjimku. Nyní vrací null, což umožňuje jednoduchou kontrolu na null.

Příklad migrace

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // Nová cesta kódu – dříve nedosažitelná, protože getter vyhazoval výjimku.
}

Pokyny
Nahraďte jakýkoli try/catch kolem loadOptions.Format kontrolou na null. Nekontrolujte proti FileType.Unknown; správný test je == null.


2. Přesná validace CadLoadOptions.LayoutNames s podrobným hlášením chyb

Ovlivněná třída: CadLoadOptions

Co se změnilo
LayoutNames jsou nyní porovnávány přesně (rozlišuje se velikost písmen) s názvy rozvržení v kresbě. Pokud žádný neodpovídá, konverze selže s InvalidLoadOptionsException, která vypíše dostupná rozvržení a neodpovídající požadavek.

Příklad migrace

using GroupDocs.Conversion.Exceptions;

try
{
    using var converter = new Converter("drawing.dwg",
        ctx => new CadLoadOptions { LayoutNames = new[] { "layout1" } });
    converter.Convert("out.pdf", new PdfConvertOptions());
}
catch (InvalidLoadOptionsException ex)
{
    // Příklad zprávy:
    // "No layout name in CadLoadOptions.LayoutNames matches this drawing, which carries
    //  Model, Layout1, Layout2. Requested: layout1. Names are matched exactly, so a name
    //  that differs only in case is a different name."
    Console.WriteLine(ex.Message);
}

Pokyny

  • Ujistěte se, že názvy rozvržení jsou napsány správně a odpovídají velikosti písmen použité v zdrojové kresbě.
  • Pokud potřebujete jen podmnožinu rozvržení, uveďte přesné názvy; neodpovídající položky jsou ignorovány a odpovídající rozvržení jsou stále vykreslena.

3. CAD výkresy s více listy nyní vytvářejí jednu výstupní jednotku na list

Ovlivněné třídy: Converter, PresentationConvertOptions, PdfConvertOptions

Co se změnilo
Dříve převod kresby s více papírovými rozvrženími vedl k jednomu zploštělému obrázku/snímku. Nyní konverze vytváří samostatné výstupní jednotky (snímky, stránky atd.) pro každé rozvržení, velikost odvozenou z nastavení stránky rozvržení. Converter.GetDocumentInfo().PagesCount nyní vrací počet vytvořených jednotek.

Příklad migrace – převod

using var converter = new Converter("multi-layout.dwg");

// Tři listy dovnitř, tři snímky ven – dříve jeden zploštělý snímek.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Příklad migrace – dotaz na počet stránek

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Vrátí 3 pro tři rozvržení

Pokyny

  • Přizpůsobte následné zpracování (např. stránkování UI, pojmenování souborů) tak, aby zvládalo více výstupních souborů/stránek.
  • Pro výkresy s jedním listem se chování nemění.
  • Výjimkou je CAD → PDF/UA‑1, který stále vykresluje jedinou označenou stránku.

4. Nová vlastnost CadLoadOptions.LayoutScope pro explicitní řízení, které prostory jsou konvertovány

Ovlivněná třída: CadLoadOptions

Co se změnilo
LayoutScope umožňuje určit, zda načíst Model, Layouts nebo Both (výchozí).

  • Když je nastaven LayoutNames, LayoutScope se ignoruje, protože explicitní názvy mají přednost.
  • Výběr rozsahu, který nevrátí žádné listy u kresby, která alespoň jeden list obsahuje, nyní vyvolá InvalidLoadOptionsException místo tichého načtení výchozích prostorů.

Příklad migrace – převod jen papírových rozvržení

using GroupDocs.Conversion;
using GroupDocs.Conversion.Options.Convert;
using GroupDocs.Conversion.Options.Load;

using var converter = new Converter("drawing.dwg",
    ctx => new CadLoadOptions { LayoutScope = CadLayoutScope.Layouts });
converter.Convert("layouts.pdf", new PdfConvertOptions());

Pokyny

  • Stávající kód, který se spoléhal na implicitní volbu backendu, bude i nadále fungovat, protože Both zůstává výchozím nastavením.
  • Pro vyloučení modelového prostoru nebo jeho zahrnutí použijte CadLayoutScope.Model nebo CadLayoutScope.Layouts.
  • Pokud jste dříve filtrovali rozvržení prázdným polem LayoutNames, nahraďte tento vzor vhodnou hodnotou LayoutScope, aby při výběru bez listů došlo k jasné chybě.

Nové funkce

Pokročilá kontrola CAD rozvržení: Vyberte konkrétní CAD rozvržení, převádějte každé rozvržení na vlastní snímek, list, stránku, obrázek nebo SVG oblast a pomocí CadLayoutScope určete modelový prostor, papírová rozvržení nebo obojí. To poskytuje přesný výstup na úrovni rozvržení a respektuje nastavení specifické pro list, jako je orientace a velikost stránky.

Rozšířená podpora archivů: Formáty XAR a CAB jsou nyní k dispozici jak jako zdroj, tak jako cíl pro kompresní dokumenty, což umožňuje bezproblémovou konverzi tam a zpět.

Moderní interoperabilita diagramů: Soubory Mermaid MMD mohou být použity jako zdroje diagramů a soubory Drawio jsou podporovány jako cíle konverze, což usnadňuje integraci současných nástrojů pro tvorbu diagramů do vašich konverzních pipeline.

Kritická vylepšení stability: Opraveny selhání konverze EML → PDF, nesprávné vykreslování obrysů tvarů DOCX, hlavičky/patičky v prezentacích, poškozené souhrnné odkazy, generování náhledů v Linuxu a zpracování orientace listů DWG. Tyto opravy zvyšují spolehlivost napříč e‑mailem, kancelářskými aplikacemi, prezentacemi i CAD workflow.

Příklad kódu

using var converter = new Converter("multi-layout.dwg");

// Tři listy dovnitř, tři snímky ven – dříve jeden zploštělý snímek.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Jak získat aktualizaci

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 na NuGet

Přímé stažení

V poznámkách k vydání nejsou uvedeny žádné přímé odkazy ke stažení.

Zdroje