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.

What’s new in this release

Key Category Summary
CONVERSIONNET-8437 Fonctionnalité Add Drawio file format as a conversion target for Diagram documents
CONVERSIONNET-8442 Fonctionnalité Add Mermaid MMD file format as a conversion source for Diagram documents
CONVERSIONNET-8445 Fonctionnalité Add CAB as a conversion target for compression documents
CONVERSIONNET-8459 Fonctionnalité Add CadLayoutScope to CadLoadOptions to convert model space, paper layouts, or both
CONVERSIONNET-8464 Fonctionnalité Add XAR as a conversion source and target for compression documents
CONVERSIONNET-8460 Amélioration Convert each CAD layout to its own slide, worksheet, Word page, HTML/MHTML image and SVG region
CONVERSIONNET-8461 Amélioration Name the missing layouts when a CAD layout selection matches nothing
CONVERSIONNET-8462 Amélioration Report an unset LoadOptions.Format as absent instead of throwing
CONVERSIONNET-8361 Bug DOCX Shapes with outlines are rendered incorrectly when converting to PDF
CONVERSIONNET-8396 Bug Converting Presentation file to PDF leads to inconsistent headers/footers
CONVERSIONNET-8399 Bug Converting Presentation file with broken summary links leads to GroupDocsConversionException
CONVERSIONNET-8426 Bug DWG file to PDF conversion per page sheet orientation settings
CONVERSIONNET-8427 Bug Fix NullReferenceException converting CAD drawings with no active layout
CONVERSIONNET-8428 Bug Fix double unit conversion when an explicit page size is set for CAD conversions
CONVERSIONNET-8429 Bug Fix CAD to PDF/UA ignoring CadLoadOptions
CONVERSIONNET-8430 Bug Fix CadDocumentInfo reporting one page for multi‑layout CAD documents
CONVERSIONNET-8444 Bug Issue with thumbnail in linux environment for GroupDocs.Conversion
CONVERSIONNET-8467 Bug EML to PDF: Incompatible unit types exception

Public API changes

⚠️ Modifications incompatibles rétroactives – The following updates modify existing public behavior. Adjust your code accordingly to avoid runtime errors.

1. LoadOptions.Format renvoie maintenant null au lieu de lever une exception lorsque le format n’est pas défini

Classes concernées: all 28 typed load‑options (e.g., SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Ce qui a changé
Lire la propriété Format avant qu’un format ne soit attribué déclenchait auparavant une exception. Elle renvoie maintenant null, permettant une simple vérification de null.

Exemple de migration

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // New code path – previously unreachable because the getter threw.
}

Conseils
Remplacez tout try/catch autour de loadOptions.Format par une vérification de null. Ne comparez pas à FileType.Unknown ; le test correct est == null.


2. Validation de correspondance exacte pour CadLoadOptions.LayoutNames avec rapport d’erreur détaillé

Classe concernée: CadLoadOptions

Ce qui a changé
LayoutNames sont maintenant comparés exactement (sensible à la casse) aux noms de mise en page du dessin. Si aucune ne correspond, la conversion échoue avec une InvalidLoadOptionsException qui répertorie les mises en page disponibles et la requête non correspondante.

Exemple de migration

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)
{
    // Example message:
    // "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);
}

Conseils

  • Assurez‑vous que les noms de mise en page sont orthographiés correctement et correspondent à la casse utilisée dans le dessin source.
  • Lorsqu’un sous‑ensemble de mises en page est requis, fournissez les noms exacts ; les entrées non correspondantes sont ignorées, et les mises en page correspondantes sont toujours rendues.

3. Les dessins CAD multi‑feuilles produisent désormais une unité de sortie par feuille

Classes concernées: Converter, PresentationConvertOptions, PdfConvertOptions

Ce qui a changé
Auparavant, la conversion d’un dessin avec plusieurs mises en page d’espace papier produisait une unique image/diapositive aplatie. La conversion crée désormais des unités de sortie séparées (diapositives, pages, etc.) pour chaque mise en page, dimensionnées selon la configuration de la page de la mise en page. Converter.GetDocumentInfo().PagesCount reflète le nombre d’unités générées.

Exemple de migration – conversion

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

// Three sheets in, three slides out – previously one flattened slide.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Exemple de migration – interrogation du nombre de pages

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Returns 3 for three layouts

Conseils

  • Ajustez le traitement en aval (par ex., pagination UI, nommage des fichiers) pour gérer plusieurs fichiers/pages de sortie.
  • Pour les dessins à une seule feuille, le comportement reste inchangé.
  • L’exception est CAD → PDF/UA‑1, qui continue de rendre une seule page balisée.

4. Nouvelle propriété CadLoadOptions.LayoutScope pour contrôler explicitement quels espaces sont convertis

Classe concernée: CadLoadOptions

Ce qui a changé
LayoutScope vous permet de spécifier si vous souhaitez charger Model, Layouts, ou Both (par défaut).

  • Lorsque LayoutNames est défini, LayoutScope est ignoré car les noms explicites priment.
  • Sélectionner un scope qui ne produit aucune feuille pour un dessin contenant au moins une feuille lève désormais une InvalidLoadOptionsException au lieu de rendre silencieusement les espaces par défaut.

Exemple de migration – convertir uniquement les mises en page d’espace papier

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());

Conseils

  • Le code existant qui dépendait du choix implicite du backend continue de fonctionner car Both reste la valeur par défaut.
  • Pour exclure l’espace modèle ou ne l’inclure que, définissez LayoutScope sur CadLayoutScope.Model ou CadLayoutScope.Layouts respectivement.
  • Si vous essayiez auparavant de filtrer les mises en page en fournissant un tableau LayoutNames vide, remplacez ce schéma par une valeur LayoutScope appropriée afin d’obtenir une erreur claire lorsqu’aucune feuille n’est sélectionnée.

New features

Contrôle avancé des mises en page CAD : Sélectionnez des mises en page CAD spécifiques, convertissez chaque mise en page en sa propre diapositive, feuille de calcul, page, image ou région SVG, et choisissez l’espace modèle, les mises en page papier ou les deux avec CadLayoutScope. Cela fournit une sortie précise par mise en page et respecte les paramètres spécifiques à chaque feuille tels que l’orientation et la taille de la page.

Support d’archives étendu : Les formats XAR et CAB sont désormais disponibles à la fois comme source et cible pour les documents de compression, permettant une conversion fluide vers et depuis ces types d’archives.

Interopérabilité moderne des diagrammes : Les fichiers Mermaid MMD peuvent être utilisés comme sources de diagrammes, et les fichiers Drawio sont pris en charge comme cibles de conversion, facilitant l’intégration d’outils de diagrammes contemporains dans vos pipelines de conversion.

Améliorations critiques de stabilité : Corrections des échecs de conversion pour EML → PDF, les contours de formes DOCX, les en-têtes/pieds de page des présentations et les liens de sommaire cassés, la génération de vignettes sous Linux, et la gestion de l’orientation des feuilles DWG. Ces correctifs améliorent la fiabilité des flux de travail d’e‑mail, bureautique, présentation et CAD.

Code example

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

// Three sheets in, three slides out – previously one flattened slide.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

How to get the update

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 on NuGet

Direct download

No direct download links are provided in the release notes.
Aucun lien de téléchargement direct n’est fourni dans les notes de version.

Resources