Nous sommes heureux d’annoncer la sortie de GroupDocs.Conversion for .NET v26.10, disponible depuis octobre 2026. Cette version porte sur le contrôle de ce qu’un document est autorisé à charger : votre code peut désormais décider de chaque ressource externe demandée par un document, et les paramètres par défaut sont sûrs pour les documents provenant de sources inconnues. Elle fait également en sorte que les conversions respectent le format de sortie demandé et la sélection de pages, corrige un éventail d’échecs de conversion et de problèmes de chargement sous .NET Framework, et met à jour une dépendance sensible à la sécurité — 60 fonctionnalités, améliorations et corrections de bugs au total.

Points forts

Décidez ce que chaque document peut charger

Les documents pointent souvent vers l’extérieur : images sur un CDN, feuilles de style, scripts, textures 3D, taxonomies XBRL. Dans la version 26.10, vous pouvez voir chacune de ces requêtes et en décider dans le code. Implémentez IExternalResourceHandler et affectez‑le via la propriété ExternalResourceHandler des options de chargement. Le gestionnaire reçoit chaque ressource avec la décision par défaut déjà remplie, et peut l’autoriser, l’ignorer ou — pour la plupart des formats — fournir le contenu lui‑même, par exemple depuis votre propre cache, de sorte qu’aucune requête ne soit effectuée.

Ce gestionnaire charge les images JPEG d’un hôte de confiance en plus de ce que les paramètres par défaut autorisent :

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

Le gestionnaire fonctionne avec les options de chargement pour le web, XML, le traitement de texte, les feuilles de calcul, CSV et TSV, les présentations, les e‑mails, SVG, la finance et les documents 3D.

Paramètres par défaut sûrs pour les documents non fiables

Convertir un fichier téléchargé ne doit pas amener votre serveur à lire d’autres fichiers ou à contacter des hôtes arbitraires. Avec les paramètres par défaut, la version 26.10 :

  • ne charge que les fichiers locaux depuis le dossier du document, et jamais depuis des chemins UNC ;
  • n’exécute pas les scripts dans les documents HTML, MHTML, XHTML et SVG, et ne demande aucun fichier script ;
  • applique les mêmes règles aux conversions SVG, modèles 3D, XBRL, XSL‑FO, Markdown et e‑mail‑vers‑feuille de calcul.

Lorsque vos documents ont réellement besoin de ressources externes, autorisez‑les de la manière qui convient : listez les emplacements de confiance dans WhitelistedResources, décidez par ressource avec le gestionnaire, ou définissez SkipExternalResources = false pour les documents en qui vous avez confiance. Les scripts ne s’exécutent que si vous définissez ExecuteScripts = true sur WebLoadOptions ou SvgLoadOptions. Les chemins UNC et les références javascript: ou vbscript: ne sont jamais chargés, quels que soient les paramètres.

Le résultat que vous avez demandé

Certaines conversions ignoraient une partie de la requête. Plusieurs écrivaient toujours DOCX, XLSX, PPTX ou un TIFF multi‑cadres quel que soit le format cible choisi, et la sélection de pages était ignorée pour les e‑mails, le web et le TIFF multi‑pages vers le traitement de texte, pour les documents Word Flat OPC, et pour Project vers PS et PCL. Toutes produisent désormais ce que les options de conversion demandent. Les filigranes apparaissent maintenant également lors de la conversion de documents non‑image en images et lors de la conversion de CSV et TSV, les pages MHT et MHTML sont rendues au lieu d’afficher leur source MIME, et les arrière‑plans transparents ne deviennent plus noirs dans les sorties J2K, JP2, WMF et WMZ.

Moins d’échecs de conversion

Les fichiers PostScript qui utilisent l’opérateur run ou file sous .NET Framework, les documents PSD, PSB et AI page par page, les dessins CAD complets vers TeX, le XHTML avec SVG intégré, le PDF, XPS et SVG vers EPUB, ainsi que Visio et SVG vers feuille de calcul se convertissent désormais au lieu d’échouer. Dans les fichiers e‑mail, boîte aux lettres et archives, une pièce jointe qui ne peut pas être convertie vers le format cible ne fait plus échouer toute la conversion, et un document contenu qui ne peut pas être chargé est maintenant signalé via ConversionEvents.OnDocumentFailed.

Sécurité, licences et .NET Framework

  • System.Security.Cryptography.Pkcs passe à la version 8.0.2 (10.0.13 sur .NET 10), corrigeant les CVE‑2026‑84008 et CVE‑2026‑70162.
  • Les projets .NET Framework ne rencontrent plus d’erreurs de chargement de RuntimeInformation ou ValueTuple, et les conversions EML, HTML et CAD ne échouent plus sur .NET Framework 4.6.2 à 4.7.0.
  • Les conversions WebP avec une licence valide n’affichent plus le badge d’évaluation. En mode évaluation, la limite de 3 pages s’applique également aux sorties SVG, SVGZ, PS et PCL.

Nouveautés de cette version

  • [Fonctionnalité] Ajouter un rappel par ressource pour inspecter, autoriser, refuser ou fournir chaque ressource externe qu’un document charge
  • [Amélioration] Proposer SvgLoadOptions comme options de chargement pour les documents SVG et SVGZ
  • [Amélioration] Nommer les éléments OLM et NSF sans sujet par dossier et position et éviter les noms de périphériques réservés de Windows dans les noms d’éléments de boîte aux lettres
  • [Amélioration] Signaler les éléments d’archive, d’e‑mail et de boîte aux lettres qui ne peuvent pas être chargés au gestionnaire document‑failed au lieu de simplement les consigner
  • [Bug] Le badge d’évaluation est appliqué lors de la conversion depuis Webp même lorsqu’une licence valide est appliquée
  • [Bug] Conversion spécifique de fichier VSDX — texte hors des limites de la boîte
  • [Bug] Le texte à double barré n’est pas conservé dans la conversion ODT vers PDF
  • [Bug] Problèmes de conversion VCF vers Excel
  • [Bug] Corriger les conversions échouant à charger RuntimeInformation dans les projets .NET Framework 4.7.1+ de style ancien qui utilisent PackageReference
  • [Bug] Corriger les conversions échouant à charger RuntimeInformation ou ValueTuple dans les projets .NET Framework packages.config
  • [Bug] Corriger les conversions EML, HTML et CAD échouant sur les runtimes .NET Framework 4.6.2 à 4.7.0
  • [Bug] Convertir des documents WordProcessing, Pdf et ProjectManagement vers n’importe quel format de feuille de calcul produit toujours du XLSX
  • [Bug] Convertir des documents WordProcessing, Pdf et Diagram vers n’importe quel format de présentation produit toujours du PPTX
  • [Bug] Corriger la conversion PST, OST et MBOX échouant sur un élément sans sujet et les notes autocollantes PST se convertissant en texte illisible
  • [Bug] Convertir un document d’une seule page vers un format d’image non‑TIFF produit toujours un TIFF multi‑cadres
  • [Bug] [GroupDocs.Conversion for .NET] Mettre à jour System.Security.Cryptography.Pkcs vers 8.0.2 (CVE‑2026‑84008 / CVE‑2026‑70162)
  • [Bug] Le filigrane texte ou image n’est pas appliqué lors de la conversion de documents non‑image en images
  • [Bug] L’arrière‑plan de page transparent devient noir lors de la conversion vers J2K, JP2, WMF et WMZ
  • [Bug] La sortie WMZ de documents basés sur Word contient un PNG gzippé et la sortie EMZ d’images est gzippée deux fois
  • [Bug] Les pages MHT et MHTML converties en images affichent la source MIME au lieu de la page
  • [Bug] Les informations du document d’un fichier Publisher indiquent toujours une page
  • [Bug] Le filigrane n’est pas appliqué lors de la conversion de documents CSV et TSV
  • [Bug] Charger les ressources externes uniquement depuis les préfixes d’URL explicitement autorisés et le dossier du document, jamais depuis des chemins UNC
  • [Bug] Corriger la sauvegarde DOCX pour CAD, Image, Diagram, DjVu, VCF et Email vers WordProcessing pour toutes les cibles sauf DOC
  • [Bug] Corriger l’ignorance de la sélection de pages et de la plage de pages lors de la conversion Email vers WordProcessing
  • [Bug] Corriger l’ignorance de la sélection de pages lors de la conversion TIFF multi‑pages vers WordProcessing
  • [Bug] Respecter SkipExternalResources et WhitelistedResources lors de la conversion de documents Markdown et CHM
  • [Bug] Respecter SkipExternalResources et WhitelistedResources dans les conversions e‑mail‑vers‑feuille de calcul, feuille de calcul et plage de pages
  • [Bug] Ne pas charger les images depuis l’extérieur du dossier du document par défaut lors de la conversion HTML vers une feuille de calcul
  • [Bug] Ne pas charger les ressources externes par défaut lors de la conversion SVG vers présentation, traitement de texte, feuille de calcul, XPS ou EPS
  • [Bug] Ne pas charger les bibliothèques de matériaux 3D, textures et tampons depuis l’extérieur du dossier du modèle par défaut
  • [Bug] Ne pas charger les images externes par défaut lors de la conversion XML via une feuille de style XSL‑FO
  • [Bug] Corriger la sauvegarde DOCX pour HTML et MHTML vers WordProcessing pour toutes les cibles
  • [Bug] Ne pas charger les taxonomies XBRL et XBRL inline depuis l’extérieur du dossier du document par défaut
  • [Bug] Arrêter l’exécution des scripts et le téléchargement de fichiers script lors de la conversion de documents HTML, XHTML et SVG
  • [Bug] Corriger l’ignorance de la sélection de pages et de la plage de pages lors de la conversion Web vers WordProcessing
  • [Bug] Corriger l’ignorance de la sélection de pages et de la plage de pages pour les documents Word Flat OPC
  • [Bug] Ne pas incorporer les textures depuis l’extérieur du dossier du modèle par défaut lors de la conversion de documents 3D
  • [Bug] Corriger les archives à compression mono‑flux qui convertissent leur fichier sans nom
  • [Bug] Corriger les références javascript: et vbscript: qui étaient récupérées lorsque les ressources externes étaient autorisées
  • [Bug] Corriger les documents XHTML avec SVG intégré qui échouaient à se convertir
  • [Bug] Corriger la conversion HTML vers HTML qui échouait lorsqu’un @import CSS relatif ne pouvait pas être chargé
  • [Bug] Corriger la conversion Visio et SVG vers feuille de calcul qui échouait sur une page sans aucun dessin
  • [Bug] Corriger la conversion PDF, XPS et SVG vers EPUB qui échouait sur un hyperlien ne couvrant aucun texte
  • [Bug] Corriger la conversion e‑mail, boîte aux lettres et archive qui échouait sur une pièce jointe qui ne pouvait pas être convertie vers le format cible
  • [Bug] Corriger la conversion PCL qui remplaçait Courier New et d’autres polices installées après la conversion d’un PDF
  • [Bug] GroupDocs.Conversion.LowCode 26.9.0 : DOCX vers PDF sous Linux ignore la substitution de police et utilise la première police alphabétique
  • [Bug] Corriger les erreurs de documentation XML dans GroupDocs.Conversion.LowCode 26.9.0
  • [Bug] Corriger la conversion PostScript échouant sous .NET Framework lorsqu’un document utilise l’opérateur run ou file
  • [Bug] Corriger les conversions non licenciées vers des formats de langage de description de page qui ignoraient la limite de pages d’évaluation
  • [Bug] Corriger la conversion page par page de documents PSD, PSB et Illustrator AI qui échouait avec une exception
  • [Bug] Corriger la conversion de vidéo vers un format audio qui échouait même lorsqu’un connecteur vidéo était défini
  • [Bug] Corriger la conversion ProjectManagement vers PS et PCL qui produisait des pages supplémentaires et ignorait la sélection de pages
  • [Bug] Corriger la conversion ProjectManagement vers SVG qui écrivait du UTF‑16 sans marque d’ordre des octets
  • [Bug] Corriger la conversion 3D vers glTF et OBJ qui écrivait les fichiers de tampon et de matériau dans le répertoire de travail
  • [Bug] Corriger les conversions MHT et MHTML vers PDF, XPS, TeX et WordProcessing qui affichaient la source MIME au lieu de la page
  • [Bug] Corriger la conversion CAD vers TeX d’un dessin complet échouant avec FileTypeNotSupported
  • [Bug] Corriger les conversions PDL et XML/JSON vers PS et PCL qui ajoutaient des pages supplémentaires
  • [Bug] Corriger les conversions CAD vers PS et PCL qui ne conservaient qu’une page des dessins DWF multi‑pages
  • [Bug] Corriger la conversion MBOX qui échouait ou supprimait les en‑têtes d’e‑mail lorsqu’un sujet de message ressemblait à un nom de fichier

Modifications de l’API publique

Nouvelle API

  • IExternalResourceHandler et ExternalResourceLoadingArgs (Uri, Skipped, Data) dans l’espace de noms GroupDocs.Conversion.Options.Load.
  • ExternalResourceHandler sur IResourceLoadingOptions et les options de chargement qui l’implémentent.
  • ExecuteScripts sur WebLoadOptions et SvgLoadOptions.
  • SkipExternalResources, WhitelistedResources et ExternalResourceHandler sur FinanceLoadOptions et ThreeDLoadOptions, qui implémentent désormais IResourceLoadingOptions.

⚠️ Vérifiez avant de mettre à jour

  • Ressources externes : les documents qui dépendaient de fichiers locaux en dehors de leur dossier, de chemins UNC ou de scripts se convertissent maintenant sans eux. Autorisez ce en qui vous avez confiance comme décrit dans Paramètres par défaut sûrs pour les documents non fiables.

  • Entrées de liste blanche : chaque entrée WhitelistedResources doit être un préfixe d’URI absolu, tel que https://cdn.example.com/assets/ ou file:///C:/assets/. Des entrées comme jpg ou example.com, qui correspondaient auparavant n’importe où dans l’URL, provoquent maintenant l’échec du chargement avec InvalidLoadOptionsException.

  • XBRL et XBRL inline : un dépôt dont la taxonomie se trouve en dehors de son dossier, ou chargé depuis un flux, échoue maintenant à se charger avec InvalidLoadOptionsException. Chargez les dépôts en qui vous avez confiance ainsi :

    using (Converter converter = new Converter("filing.xbrl", (LoadContext loadContext) => new FinanceLoadOptions { SkipExternalResources = false }))
    {
        converter.Convert("filing.xlsx", new SpreadsheetConvertOptions());
    }
    
  • SVG et SVGZ : convertis sans options de chargement, ils utilisent désormais SvgLoadOptions, et PossibleConversions.LoadOptions renvoie SvgLoadOptions au lieu de PageDescriptionLanguageLoadOptions.

  • Format de sortie et pages : les conversions respectent désormais le format demandé et la sélection de pages, de sorte que le résultat peut différer des versions antérieures pour les mêmes options. PublisherDocumentInfo.PagesCount renvoie maintenant le nombre réel de pages.

  • Implémentations personnalisées de IResourceLoadingOptions doivent ajouter la nouvelle propriété ExternalResourceHandler.

Les notes de version répertorient chaque changement avec les messages d’exception exacts.

Comment obtenir la mise à jour

NuGet

Mettez à jour vers le dernier package GroupDocs.Conversion via NuGet : GroupDocs.Conversion 26.10.0

dotnet add package GroupDocs.Conversion --version 26.10.0

Téléchargement direct

Téléchargez les assemblages depuis la page GroupDocs.Conversion for .NET 26.10

Ressources