Siamo felici di annunciare il rilascio di GroupDocs.Conversion for .NET v26.10, disponibile a partire da ottobre 2026. Questa versione riguarda il controllo su ciò che un documento è autorizzato a caricare: il tuo codice può ora decidere su ogni risorsa esterna richiesta dal documento, e le impostazioni predefinite sono sicure per i documenti provenienti da fonti sconosciute. Inoltre, le conversioni rispettano il formato di output richiesto e la selezione delle pagine, correggono una serie di errori di conversione e problemi di caricamento del .NET Framework, e aggiornano una dipendenza sensibile alla sicurezza — 60 funzionalità, miglioramenti e correzioni di bug in totale.

Evidenze

Decidi cosa può caricare ogni documento

I documenti spesso puntano a risorse esterne: immagini su un CDN, fogli di stile, script, texture 3D, tassonomie XBRL. Nella versione 26.10 puoi vedere ciascuna di queste richieste e decidere in codice. Implementa IExternalResourceHandler e impostalo tramite la proprietà ExternalResourceHandler delle opzioni di caricamento. Il gestore riceve ogni risorsa con la decisione predefinita già impostata e può consentirla, ignorarla o — per la maggior parte dei formati — fornire direttamente il contenuto, ad esempio dalla tua cache, così nulla viene richiesto.

Questo gestore carica immagini JPEG da un host attendibile oltre a quanto consentito dalle impostazioni predefinite:

public class TrustedJpegHandler : IExternalResourceHandler
{
    public void OnLoading(ExternalResourceLoadingArgs args)
    {
        Uri uri;
        if (Uri.TryCreate(args.Uri, UriKind.Absolute, out uri)
            && uri.Scheme == Uri.UriSchemeHttps
            && string.Equals(uri.Host, "cdn.example.com", StringComparison.OrdinalIgnoreCase)
            && (uri.AbsolutePath.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)
                || uri.AbsolutePath.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)))
        {
            args.Skipped = false;
        }
    }
}
WebLoadOptions loadOptions = new WebLoadOptions
{
    ExternalResourceHandler = new TrustedJpegHandler()
};
using (Converter converter = new Converter("sample.html", (LoadContext loadContext) => loadOptions))
{
    converter.Convert("converted.pdf", new PdfConvertOptions());
}

Il gestore funziona con le opzioni di caricamento per web, XML, elaborazione testi, foglio di calcolo, CSV e TSV, presentazione, e‑mail, SVG, finanza e documenti 3D.

Impostazioni predefinite sicure per documenti non attendibili

Convertire un file caricato da un utente non dovrebbe far leggere al tuo server altri file o contattare host arbitrari. Con le impostazioni predefinite, la versione 26.10:

  • carica file locali solo dalla cartella del documento e mai da percorsi UNC;
  • non esegue script in documenti HTML, MHTML, XHTML e SVG, e non richiede file script;
  • applica le stesse regole a SVG, modelli 3D, XBRL, XSL‑FO, Markdown e conversioni da e‑mail a foglio di calcolo.

Quando i tuoi documenti hanno legittimamente bisogno di risorse esterne, consentile nel modo più appropriato: elenca le posizioni attendibili in WhitelistedResources, decidi per risorsa con il gestore, o imposta SkipExternalResources = false per i documenti di cui ti fidi. Gli script vengono eseguiti solo se imposti ExecuteScripts = true su WebLoadOptions o SvgLoadOptions. I percorsi UNC e i riferimenti javascript: o vbscript: non vengono mai caricati, indipendentemente dalle impostazioni.

L’output richiesto

Alcune conversioni ignoravano parte della richiesta. Diverse scrivevano sempre DOCX, XLSX, PPTX o un TIFF multi‑frame indipendentemente dal formato di destinazione scelto, e la selezione delle pagine veniva ignorata per e‑mail, web e TIFF multi‑pagina verso elaborazione testi, per documenti Word Flat OPC, e per Project verso PS e PCL. Ora tutti producono ciò che le opzioni di conversione richiedono. I watermark compaiono ora anche quando si convertono documenti non‑immagine in immagini e quando si convertono CSV e TSV; le pagine MHT e MHTML vengono renderizzate invece di mostrare la loro sorgente MIME, e gli sfondi trasparenti non diventano più neri in output J2K, JP2, WMF e WMZ.

Meno conversioni fallite

I file PostScript che usano l’operatore run o file su .NET Framework, i documenti PSD, PSB e AI pagina per pagina, i disegni CAD completi verso TeX, XHTML con SVG inline, PDF, XPS e SVG verso EPUB, e Visio e SVG verso foglio di calcolo ora si convertono invece di fallire. In e‑mail, mailbox e archivi, un allegato che non può essere convertito nel formato di destinazione non interrompe più l’intera conversione, e un documento contenuto che non può essere caricato viene ora segnalato tramite ConversionEvents.OnDocumentFailed.

Sicurezza, licenze e .NET Framework

  • System.Security.Cryptography.Pkcs passa a 8.0.2 (10.0.13 su .NET 10), risolvendo CVE‑2026‑84008 e CVE‑2026‑70162.
  • I progetti .NET Framework non falliscono più nel caricare RuntimeInformation o ValueTuple, e le conversioni EML, HTML e CAD non falliscono più su .NET Framework 4.6.2‑4.7.0.
  • Le conversioni WebP con licenza valida non mostrano più il badge di prova. In modalità valutazione, il limite di 3 pagine si applica ora anche a SVG, SVGZ, PS e PCL.

Novità di questa versione

  • [Feature] Aggiungi un callback per risorsa per ispezionare, consentire, rifiutare o fornire ogni risorsa esterna caricata da un documento
  • [Improvement] Offri SvgLoadOptions come opzioni di caricamento per documenti SVG e SVGZ
  • [Improvement] Nomina gli elementi OLM e NSF senza oggetto per cartella e posizione ed evita nomi di dispositivi Windows riservati nei nomi degli elementi mailbox
  • [Improvement] Segnala gli elementi di archivio, e‑mail e mailbox che non possono essere caricati al gestore document‑failed invece di registrarli solo nei log
  • [Bug] Il badge di prova viene applicato quando si converte da Webp anche con licenza valida
  • [Bug] Conversione specifica di file VSDX – testo fuori dai bordi della casella
  • [Bug] Testo con doppio barrato non preservato nella conversione ODT → PDF
  • [Bug] Problemi di conversione VCF → Excel
  • [Bug] Correzione di conversioni che fallivano nel caricare RuntimeInformation in progetti .NET Framework 4.7.1+ in stile legacy che usano PackageReference
  • [Bug] Correzione di conversioni che fallivano nel caricare RuntimeInformation o ValueTuple in progetti .NET Framework packages.config
  • [Bug] Correzione di conversioni EML, HTML e CAD che fallivano su runtime .NET Framework 4.6.2‑4.7.0
  • [Bug] La conversione di documenti WordProcessing, Pdf e ProjectManagement in qualsiasi formato foglio di calcolo produce sempre XLSX
  • [Bug] La conversione di documenti WordProcessing, Pdf e Diagram in qualsiasi formato presentazione produce sempre PPTX
  • [Bug] Correzione di conversione PST, OST e MBOX su un elemento senza oggetto e delle note adesive PST che venivano convertite in testo illeggibile
  • [Bug] La conversione di un documento a pagina singola in un formato immagine non‑TIFF produce sempre un TIFF multi‑frame
  • [Bug] [GroupDocs.Conversion for .NET] Aggiorna System.Security.Cryptography.Pkcs a 8.0.2 (CVE‑2026‑84008 / CVE‑2026‑70162)
  • [Bug] Il watermark di testo o immagine non viene applicato quando si convertono documenti non‑immagine in immagini
  • [Bug] Lo sfondo trasparente della pagina diventa nero quando si converte in J2K, JP2, WMF e WMZ
  • [Bug] L’output WMZ di documenti basati su Word contiene un PNG gzippato e l’output EMZ di immagini è gzippato due volte
  • [Bug] Le pagine MHT e MHTML convertite in immagini mostrano la sorgente MIME invece della pagina
  • [Bug] Le informazioni del documento di Publisher riportano sempre una sola pagina
  • [Bug] Il watermark non viene applicato quando si convertono documenti CSV e TSV
  • [Bug] Carica risorse esterne solo da prefissi URL esatti nella whitelist e dalla cartella del documento, mai da percorsi UNC
  • [Bug] Correzione di CAD, Image, Diagram, DjVu, VCF e Email verso WordProcessing che salvavano DOCX per ogni destinazione tranne DOC
  • [Bug] Correzione di Email verso WordProcessing che ignorava la selezione delle pagine e l’intervallo di pagine
  • [Bug] Correzione di TIFF multi‑pagina verso WordProcessing che ignorava la selezione delle pagine
  • [Bug] Rispetta SkipExternalResources e WhitelistedResources nella conversione di documenti Markdown e CHM
  • [Bug] Rispetta SkipExternalResources e WhitelistedResources in conversioni e‑mail‑a‑foglio di calcolo, foglio di calcolo e intervallo di pagine
  • [Bug] Non caricare immagini da fuori la cartella del documento per impostazione predefinita quando si converte HTML in foglio di calcolo
  • [Bug] Non caricare risorse esterne per impostazione predefinita quando si converte SVG in presentazione, elaborazione testi, foglio di calcolo, XPS o EPS
  • [Bug] Non caricare librerie di materiali 3D, texture e buffer da fuori la cartella del modello per impostazione predefinita
  • [Bug] Non caricare immagini esterne per impostazione predefinita quando si converte XML tramite un foglio di stile XSL‑FO
  • [Bug] Correzione di HTML e MHTML verso WordProcessing che salvavano DOCX per ogni destinazione
  • [Bug] Non caricare XBRL e tassonomie XBRL inline da fuori la cartella del documento per impostazione predefinita
  • [Bug] Interrompi l’esecuzione di script e il download di file script quando si convertono documenti HTML, XHTML e SVG
  • [Bug] Correzione di Web verso WordProcessing che ignorava la selezione delle pagine e l’intervallo di pagine
  • [Bug] Correzione di documenti Word Flat OPC che ignoravano la selezione delle pagine e l’intervallo di pagine
  • [Bug] Non incorporare texture da fuori la cartella del modello per impostazione predefinita quando si convertono documenti 3D
  • [Bug] Correzione di archivi a compressione a flusso singolo che convertivano il loro file senza nome
  • [Bug] Correzione di riferimenti javascript: e vbscript: che venivano recuperati quando le risorse esterne erano consentite
  • [Bug] Correzione di documenti XHTML con SVG inline che fallivano nella conversione
  • [Bug] Correzione di conversione HTML → HTML che falliva quando un CSS @import relativo non poteva essere caricato
  • [Bug] Correzione di conversione Visio e SVG verso foglio di calcolo che falliva su una pagina senza contenuti da disegnare
  • [Bug] Correzione di conversione PDF, XPS e SVG verso EPUB che falliva su un hyperlink che non copriva testo
  • [Bug] Correzione di conversione e‑mail, mailbox e archivio che falliva su un allegato non convertibile nel formato di destinazione
  • [Bug] Correzione di conversione PCL che sostituiva Courier New e altri font installati dopo la conversione di un PDF
  • [Bug] GroupDocs.Conversion.LowCode 26.9.0: DOCX → PDF su Linux ignora la sostituzione dei font e usa il primo font alfabetico
  • [Bug] Correzione di errori di documentazione XML in GroupDocs.Conversion.LowCode 26.9.0
  • [Bug] Correzione di conversione PostScript che falliva su .NET Framework quando un documento usa l’operatore run o file
  • [Bug] Correzione di conversioni non licenziate verso formati di linguaggio di descrizione pagina che ignoravano il limite di prova
  • [Bug] Correzione di conversione pagina per pagina di documenti PSD, PSB e Illustrator AI che falliva con un’eccezione
  • [Bug] Correzione di conversione di video verso formato audio che falliva anche quando era impostato un connettore video
  • [Bug] Correzione di conversione ProjectManagement verso PS e PCL che produceva pagine extra e ignorava la selezione delle pagine
  • [Bug] Correzione di conversione ProjectManagement verso SVG che scriveva UTF‑16 senza marcatura di ordine dei byte
  • [Bug] Correzione di conversione 3D verso glTF e OBJ che scriveva file di buffer e materiale nella directory di lavoro
  • [Bug] Correzione di conversioni MHT e MHTML verso PDF, XPS, TeX e WordProcessing che mostravano la sorgente MIME invece della pagina
  • [Bug] Correzione di conversione CAD verso TeX di un disegno completo che falliva con FileTypeNotSupported
  • [Bug] Correzione di conversioni PDL e XML/JSON verso PS e PCL che aggiungevano pagine extra
  • [Bug] Correzione di conversioni CAD verso PS e PCL che mantenevano solo una pagina di disegni DWF multi‑pagina
  • [Bug] Correzione di conversione MBOX che falliva o eliminava le intestazioni e‑mail quando l’oggetto del messaggio assomigliava a un nome file

Modifiche all’API pubblica

Nuova API

  • IExternalResourceHandler e ExternalResourceLoadingArgs (Uri, Skipped, Data) nello spazio dei nomi GroupDocs.Conversion.Options.Load.
  • ExternalResourceHandler su IResourceLoadingOptions e sulle opzioni di caricamento che lo implementano.
  • ExecuteScripts su WebLoadOptions e SvgLoadOptions.
  • SkipExternalResources, WhitelistedResources e ExternalResourceHandler su FinanceLoadOptions e ThreeDLoadOptions, che ora implementano IResourceLoadingOptions.

⚠️ Controlla prima di aggiornare

  • Risorse esterne: i documenti che si basavano su file locali fuori dalla loro cartella, percorsi UNC o script ora si convertono senza di essi. Consenti solo ciò di cui ti fidi come descritto in Impostazioni predefinite sicure per documenti non attendibili.

  • Voci della whitelist: ogni voce WhitelistedResources deve essere un prefisso URI assoluto, ad esempio https://cdn.example.com/assets/ o file:///C:/assets/. Voci come jpg o example.com, che nelle versioni precedenti corrispondevano a qualsiasi parte dell’URL, ora provocano il fallimento del caricamento con InvalidLoadOptionsException.

  • XBRL e XBRL inline: un filing la cui tassonomia si trova fuori dalla sua cartella, o uno caricato da uno stream, ora fallisce con InvalidLoadOptionsException. Carica filing di cui ti fidi in questo modo:

    using (Converter converter = new Converter("filing.xbrl", (LoadContext loadContext) => new FinanceLoadOptions { SkipExternalResources = false }))
    {
        converter.Convert("filing.xlsx", new SpreadsheetConvertOptions());
    }
    
  • SVG e SVGZ: convertiti senza opzioni di caricamento, ora usano SvgLoadOptions, e PossibleConversions.LoadOptions restituisce SvgLoadOptions invece di PageDescriptionLanguageLoadOptions.

  • Formato di output e pagine: le conversioni ora rispettano il formato richiesto e la selezione delle pagine, quindi l’output può differire dalle versioni precedenti con le stesse opzioni. PublisherDocumentInfo.PagesCount ora restituisce il conteggio reale delle pagine.

  • Implementazioni personalizzate di IResourceLoadingOptions devono aggiungere la nuova proprietà ExternalResourceHandler.

Le note di rilascio elencano ogni modifica con i messaggi di eccezione esatti.

Come ottenere l’aggiornamento

NuGet

Aggiorna al pacchetto più recente GroupDocs.Conversion tramite NuGet: GroupDocs.Conversion 26.10.0

dotnet add package GroupDocs.Conversion --version 26.10.0

Download diretto

Scarica gli assembly dalla pagina GroupDocs.Conversion for .NET 26.10

Risorse