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,LayoutScopeviene 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’
InvalidLoadOptionsExceptioninvece 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
LayoutScopesuCadLayoutScope.ModeloCadLayoutScope.Layoutsrispettivamente. - Se in precedenza tentavi di filtrare i layout fornendo un array
LayoutNamesvuoto, sostituisci quel pattern con un valore appropriato diLayoutScopeper 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.