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.

Novità di questa versione

Chiave Categoria Riepilogo
CONVERSIONNET-8437 Funzionalità Aggiungi il formato file Drawio come destinazione di conversione per i documenti Diagram
CONVERSIONNET-8442 Funzionalità Aggiungi il formato file Mermaid MMD come sorgente di conversione per i documenti Diagram
CONVERSIONNET-8445 Funzionalità Aggiungi CAB come destinazione di conversione per i documenti di compressione
CONVERSIONNET-8459 Funzionalità Aggiungi CadLayoutScope a CadLoadOptions per convertire lo spazio modello, i layout di carta o entrambi
CONVERSIONNET-8464 Funzionalità Aggiungi XAR come sorgente e destinazione di conversione per i documenti di compressione
CONVERSIONNET-8460 Miglioramento Converti ogni layout CAD nella propria diapositiva, foglio di lavoro, pagina Word, immagine HTML/MHTML e regione SVG
CONVERSIONNET-8461 Miglioramento Denomina i layout mancanti quando una selezione di layout CAD non corrisponde a nulla
CONVERSIONNET-8462 Miglioramento Segnala un LoadOptions.Format non impostato come assente invece di generare un’eccezione
CONVERSIONNET-8361 Bug Le forme DOCX con contorni vengono renderizzate in modo errato durante la conversione in PDF
CONVERSIONNET-8396 Bug La conversione di un file Presentation in PDF genera intestazioni/piedi pagina incoerenti
CONVERSIONNET-8399 Bug La conversione di un file Presentation con collegamenti di riepilogo interrotti genera GroupDocsConversionException
CONVERSIONNET-8426 Bug Conversione di file DWG in PDF secondo le impostazioni di orientamento del foglio per pagina
CONVERSIONNET-8427 Bug Correggi NullReferenceException durante la conversione di disegni CAD senza layout attivo
CONVERSIONNET-8428 Bug Correggi la doppia conversione di unità quando è impostata una dimensione di pagina esplicita per le conversioni CAD
CONVERSIONNET-8429 Bug Correggi CAD in PDF/UA che ignora CadLoadOptions
CONVERSIONNET-8430 Bug Correggi CadDocumentInfo che segnala una sola pagina per documenti CAD con più layout
CONVERSIONNET-8444 Bug Problema con la miniatura nell’ambiente Linux per GroupDocs.Conversion
CONVERSIONNET-8467 Bug EML in PDF: eccezione di tipi di unità incompatibili

Modifiche all’API pubblica

⚠️ Modifiche incompatibili retroattive – I seguenti aggiornamenti modificano il comportamento pubblico esistente. Adatta il tuo codice di conseguenza per evitare errori di runtime.

1. LoadOptions.Format ora restituisce null invece di generare un’eccezione quando il formato non è impostato

Classi interessate: tutte le 28 load‑options tipizzate (ad es., SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

Cosa è cambiato
La lettura della proprietà Format prima che un formato sia assegnato sollevava un’eccezione. Ora restituisce null, consentendo un semplice controllo null.

Esempio di migrazione

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // Nuovo percorso di codice – precedentemente irraggiungibile perché il getter lanciava.
}

Indicazioni
Sostituisci qualsiasi try/catch attorno a loadOptions.Format con un controllo null. Non confrontare con FileType.Unknown; il test corretto è == null.


2. Convalida di corrispondenza esatta per CadLoadOptions.LayoutNames con segnalazione dettagliata degli errori

Classe interessata: CadLoadOptions

Cosa è cambiato
LayoutNames ora viene confrontato esattamente (case‑sensitive) con i nomi dei layout del disegno. Se nessuno corrisponde, la conversione fallisce con un InvalidLoadOptionsException che elenca i layout disponibili e la richiesta non corrispondente.

Esempio di migrazione

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)
{
    // Esempio di messaggio:
    // "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);
}

Indicazioni

  • Assicurati che i nomi dei layout siano scritti correttamente e corrispondano al case usato nel disegno sorgente.
  • Quando è necessario solo un sottoinsieme di layout, fornisci i nomi esatti; le voci non corrispondenti vengono ignorate e i layout corrispondenti vengono comunque renderizzati.

3. I disegni CAD multi‑foglio ora producono un’unità di output per foglio

Classi interessate: Converter, PresentationConvertOptions, PdfConvertOptions

Cosa è cambiato
In precedenza, convertendo un disegno con più layout di paper‑space si otteneva un’unica immagine/diapositiva appiattita. Ora la conversione crea unità di output separate (diapositive, pagine, ecc.) per ciascun layout, dimensionate in base alle impostazioni di pagina del layout. Converter.GetDocumentInfo().PagesCount riflette il numero di unità generate.

Esempio di migrazione – conversione

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

// Tre fogli in ingresso, tre diapositive in uscita – prima una diapositiva appiattita.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Esempio di migrazione – interrogare il conteggio delle pagine

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Restituisce 3 per tre layout

Indicazioni

  • Adatta l’elaborazione a valle (ad es., paginazione UI, denominazione file) per gestire più file/pagine di output.
  • Per disegni a singolo foglio il comportamento rimane invariato.
  • L’eccezione è CAD → PDF/UA‑1, che continua a generare una singola pagina taggata.

4. Nuova proprietà CadLoadOptions.LayoutScope per controllare esplicitamente quali spazi vengono convertiti

Classe interessata: CadLoadOptions

Cosa è cambiato
LayoutScope consente di specificare se caricare Model, Layouts o Both (predefinito).

  • Quando LayoutNames è impostato, LayoutScope viene ignorato perché i nomi espliciti hanno la precedenza.
  • Se si seleziona uno scope che non produce fogli per un disegno che ne contiene almeno uno, viene lanciata un’InvalidLoadOptionsException invece di renderizzare silenziosamente gli spazi predefiniti.

Esempio di migrazione – converti solo i layout di paper‑space

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

Indicazioni

  • Il codice esistente che si affidava alla scelta implicita del backend continua a funzionare perché Both resta il valore predefinito.
  • Per escludere lo spazio modello o includerlo solo, imposta LayoutScope su CadLayoutScope.Model o CadLayoutScope.Layouts rispettivamente.
  • Se in precedenza tentavi di filtrare i layout fornendo un array LayoutNames vuoto, sostituisci quel pattern con un valore appropriato di LayoutScope per ottenere un errore chiaro quando nessun foglio è selezionato.

Nuove funzionalità

Controllo avanzato dei layout CAD: seleziona layout CAD specifici, converti ogni layout nella propria diapositiva, foglio di lavoro, pagina, immagine o regione SVG e scegli spazio modello, layout di carta o entrambi con CadLayoutScope. Questo fornisce output preciso per layout e rispetta impostazioni specifiche del foglio come orientamento e dimensione della pagina.

Supporto ampliato per archivi: i formati XAR e CAB sono ora disponibili sia come sorgente sia come destinazione per i documenti di compressione, consentendo conversioni fluide da e verso questi tipi di archivio.

Interoperabilità moderna dei diagrammi: i file Mermaid MMD possono essere usati come sorgenti di diagrammi, e i file Drawio sono supportati come destinazioni di conversione, facilitando l’integrazione di strumenti di diagrammazione contemporanei nei tuoi flussi di conversione.

Miglioramenti critici di stabilità: corretti i fallimenti di conversione per EML → PDF, contorni di forme DOCX, intestazioni/piedi pagina delle presentazioni e collegamenti di riepilogo interrotti, generazione di miniature su Linux e gestione dell’orientamento dei fogli DWG. Queste correzioni aumentano l’affidabilità in scenari di email, office, presentazioni e CAD.

Esempio di codice

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

// Tre fogli in ingresso, tre diapositive in uscita – prima una diapositiva appiattita.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

Come ottenere l’aggiornamento

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 su NuGet

Download diretto

Non sono forniti link di download diretto nelle note di rilascio.

Risorse