Nous sommes fiers d'annoncer la sortie de la nouvelle version majeure 12.0 du VintaSoft Imaging .NET SDK et des plug-ins associés (Annotation, PDF, JBIG2, JPEG2000, Document Cleanup, OCR, DICOM, Forms Processing, Office).
La première nouveauté majeure de cette version est la prise en charge multiplateforme de Windows, Linux et macOS sous .NET 6, .NET 5 et .NET Core 3.1.
VintaSoft Imaging .NET SDK est un SDK .NET pour le traitement d'images et de documents. Le SDK comprend une grande variété d'algorithmes, majoritairement écrits en C# et indépendants de la plateforme d'exécution. Les algorithmes de traitement des graphismes 2D font exception: les versions précédentes du SDK utilisaient la bibliothèque System.Drawing.Common de Microsoft pour ce faire.
La bibliothèque System.Drawing.Common offre de bonnes performances et fonctionne uniquement sous Windows.
À partir de .NET Core, Microsoft a tenté de créer une version multiplateforme de la bibliothèque System.Drawing.Common. Nous pensions pouvoir utiliser cette version à terme et ainsi proposer une prise en charge multiplateforme dans le VintaSoft Imaging .NET SDK.
Malheureusement, début 2022, Microsoft a annoncé l'arrêt du développement d'une version multiplateforme de la bibliothèque System.Drawing.Common. Cette bibliothèque est désormais réservée à Windows, et il est conseillé aux développeurs d'utiliser des bibliothèques tierces pour la gestion des graphismes 2D. Pour plus de détails, consultez l'article
" System.Drawing.Common uniquement pris en charge sous Windows ".
Nous avons immédiatement commencé à tester des bibliothèques graphiques 2D tierces lorsque nous avons constaté l'impossibilité d'utiliser la bibliothèque System.Drawing.Common pour créer une version multiplateforme du SDK. Nos tests ont rapidement démontré que la bibliothèque SkiaSharp de Google était particulièrement rapide et performante pour le traitement des graphismes 2D.
Nous avons entièrement revu tous les algorithmes de traitement des graphismes 2D et, finalement, le SDK a commencé à utiliser le moteur de dessin (classe Vintasoft.Imaging.Drawing.DrawingEngine) pour le rendu 2D, abandonnant ainsi l'utilisation directe de la bibliothèque System.Drawing.Common.
Dans la version 12.0, nous avons créé deux moteurs de dessin pour Windows, Linux et macOS.
Le premier est un moteur de dessin multiplateforme basé sur la bibliothèque SkiaSharp pour Windows, Linux et macOS. Ce moteur de dessin se trouve dans l'assembly Vintasoft.Imaging.Drawing.Skia.dll.
Le second est un moteur de dessin basé sur System.Drawing.Common, exclusivement pour Windows. Ce moteur de dessin se trouve dans l'assembly Vintasoft.Imaging.Gdi.dll.
Le SDK n'a pas besoin de moteur de dessin s'il ne gère pas les graphismes 2D et/ou s'il n'affiche pas de texte. Par exemple, le SDK n'a pas besoin de moteur de dessin pour charger une image raster (TIFF, PNG, JPEG, DICOM, etc.) à partir d'un fichier ou pour obtenir les métadonnées d'une image.
Le SDK a besoin d'un moteur de dessin s'il gère les graphismes 2D et/ou s'il affiche du texte. Par exemple, le SDK a besoin d'un moteur de dessin pour le rendu des fichiers PDF, DOCX, etc.Pages XLSX et rotation ou mise à l'échelle des images.
En général, il est nécessaire de sélectionner et de connecter un moteur de dessin au SDK; c'est très simple. Si vous créez une application Windows uniquement, ajoutez une référence à l'assembly Vintasoft.Imaging.Gdi.dll. Si vous créez une application pour Windows, Linux et macOS, ajoutez une référence à l'assembly Vintasoft.Imaging.Drawing.Skia.dll et au package NuGet SkiaSharp 2.88.0.
Nos tests fonctionnels, de régression et techniques ont montré que le SDK fonctionne de la même manière sous .NET 6 sur Windows 10, Ubuntu Desktop 20.04.3 et macOS 12 "Monterey".
La deuxième nouveauté majeure de cette version est la possibilité d'effectuer un rendu vectoriel des documents PDF, DOCX et XLSX dans la visionneuse d'images Web.
Auparavant, la visionneuse d'images Web affichait des vignettes distinctes pour chaque niveau de zoom. Désormais, elle affiche la page entière au format SVG, puis redimensionne ce contenu vectoriel lorsque nécessaire pour un nouvel affichage. L'utilisation du rendu vectoriel a considérablement accéléré l'affichage des documents dans le navigateur et réduit significativement la charge du serveur Web (qui n'a plus besoin d'afficher la page qu'une seule fois, alors qu'auparavant, chaque vignette devait être affichée plusieurs fois).
Le rendu vectoriel dans la visionneuse d'images Web peut être activé/désactivé à l'aide de la fonction Vintasoft.Imaging.UI.WebImageViewerJS.set_UseVectorRendering.
Voici une capture d'écran de l'application de démonstration "VintaSoft Web Document Viewer Demo", qui montre les paramètres de la visionneuse d'images Web avec le rendu vectoriel activé:
Vous pouvez tester rapidement le rendu vectoriel dans une visionneuse d'images Web grâce à la démo VintaSoft ASP.NET Core Document Viewer:
https://demos.vintasoft.com/AspNetCoreDocumentViewerDemo/
Plus d'informations sur la version 12.0 du VintaSoft Imaging .NET SDK sont disponibles ici:
https://www.vintasoft.com/fr/vsimaging-dotnet-history.html