Estamos orgullosos de anunciar el lanzamiento de la nueva versión principal 12.0 de VintaSoft Imaging .NET SDK y Plug-ins relacionados (Annotation, PDF, JBIG2, JPEG2000, Document Cleanup, OCR, DICOM, Forms Processing, Office).
La principal novedad de esta versión es la compatibilidad multiplataforma con Windows, Linux y macOS en .NET 6, .NET 5 y .NET Core 3.1.
VintaSoft Imaging .NET SDK es un SDK .NET para el procesamiento de imágenes y documentos. El SDK consta de una gran variedad de algoritmos, la mayoría de ellos escritos en lenguaje de programación C# y no dependen de la plataforma de ejecución.Una excepción son los algoritmos para trabajar con gráficos bidimensionales: las versiones anteriores del SDK utilizaban la biblioteca System.Drawing.Common de Microsoft para trabajar con gráficos bidimensionales.
La biblioteca System.Drawing.Common tiene un buen rendimiento y solo funciona en Windows.
A partir de .NET Core, Microsoft intentó crear una versión multiplataforma de la biblioteca System.Drawing.Common. Esperábamos poder usar esta versión multiplataforma en algún momento y, por lo tanto, ofrecer compatibilidad multiplataforma en el VintaSoft Imaging .NET SDK.
Desafortunadamente, a principios de 2022, Microsoft anunció que finalizaría sus esfuerzos para crear una versión multiplataforma de la biblioteca System.Drawing.Common. Anunciaron que la biblioteca System.Drawing.Common ahora es exclusiva para Windows y sugirieron a todos los desarrolladores usar bibliotecas de terceros para trabajar con gráficos bidimensionales. Puede encontrar más detalles en el artículo
"System.Drawing.Common solo es compatible con Windows".
Iniciamos nuestras propias pruebas con bibliotecas de gráficos 2D de terceros inmediatamente cuando nos dimos cuenta de que no podíamos usar la biblioteca System.Drawing.Common para crear una versión multiplataforma del SDK. Pronto, nuestras pruebas demostraron que la biblioteca SkiaSharp de Google era bastante rápida y profesional para trabajar con gráficos bidimensionales.
Habíamos revisado por completo todos los algoritmos de trabajo con gráficos 2D y, finalmente, el SDK comenzó a dibujar gráficos 2D utilizando el motor de dibujo (clase Vintasoft.Imaging.Drawing.DrawingEngine) y dejó de usar directamente la biblioteca System.Drawing.Common.
En la versión 12.0, creamos dos motores de dibujo para Windows, Linux y macOS.
El primero es un motor de dibujo multiplataforma basado en la biblioteca SkiaSharp para Windows, Linux y macOS. Este motor de dibujo se encuentra en el ensamblado Vintasoft.Imaging.Drawing.Skia.dll.
El segundo es un motor de dibujo basado en System.Drawing.Common solo para Windows. Este motor de dibujo se encuentra en el ensamblado Vintasoft.Imaging.Gdi.dll.
El SDK no requiere un motor de dibujo si no funciona con gráficos 2D ni dibuja texto. Por ejemplo, el SDK no requiere un motor de dibujo para cargar una imagen rasterizada (TIFF, PNG, JPEG, DICOM, etc.) desde un archivo ni para obtener metadatos de la imagen.
El SDK requiere un motor de dibujo si funciona con gráficos 2D o dibuja texto. Por ejemplo, el SDK requiere un motor de dibujo para renderizar páginas PDF, DOCX y XLSX, así como para rotar o escalar imágenes.
En general, es necesario seleccionar y conectar un motor de dibujo al SDK; esto es muy sencillo. Si va a crear una aplicación solo para Windows, añada una referencia a Vintasoft.Incorpore el ensamblado Imaging.Gdi.dll a su aplicación. Si va a crear una aplicación para Windows, Linux y macOS, añada la referencia al ensamblado Vintasoft.Imaging.Drawing.Skia.dll y al paquete Nuget SkiaSharp 2.88.0.
Nuestras pruebas funcionales, de regresión y técnicas demostraron que el SDK funciona de la misma manera en .NET 6 en Windows 10, Ubuntu Desktop 20.04.3 y macOS 12 "Monterey".
La segunda novedad importante de esta versión es la capacidad de renderizar vectores de documentos PDF, DOCX y XLSX en el visor de imágenes web.
Anteriormente, el visor de imágenes web renderizaba mosaicos de página separados para cada zoom. Ahora, el visor de imágenes web renderiza la página del documento como contenido SVG inmediatamente y, posteriormente, escala el contenido SVG vectorial renderizado cuando es necesario para mostrar el documento con un nuevo zoom. El uso del renderizado vectorial ha aumentado significativamente la velocidad de visualización del documento en el navegador web y ha reducido significativamente la carga del servidor web (ahora el servidor web renderiza la página solo una vez, mientras que antes era necesario renderizar los mosaicos de la página muchas veces).
El renderizado vectorial en el visor de imágenes web se puede habilitar o deshabilitar mediante la función Vintasoft.Imaging.UI.WebImageViewerJS.set_UseVectorRendering.
Aquí hay una captura de pantalla de la demostración del visor de documentos web de VintaSoft, que muestra la configuración del visor de imágenes web con la representación vectorial habilitada:
Puede probar rápidamente el trabajo de renderizado vectorial en el visor de imágenes web con la demostración del visor de documentos de VintaSoft ASP.NET Core:
https://demos.vintasoft.com/AspNetCoreDocumentViewerDemo/
Puede encontrar más información sobre la versión 12.0 del VintaSoft Imaging .NET SDK aquí:
https://www.vintasoft.com/es/vsimaging-dotnet-history.html