Мы с гордостью объявляем о выпуске новой основной версии 12.0 VintaSoft Imaging .NET SDK и связанных с ней плагинов Annotation,
PDF, JBIG2, JPEG2000, Document Cleanup, OCR, DICOM, Forms Processing и Office.
Первая и наиболее важная новая функция в этой версии - кросс-платформенная поддержка для Windows, Linux и macOS в .NET 6, .NET 5 и .NET Core 3.1.
VintaSoft Imaging .NET SDK - это .NET SDK для обработки изображений и документов.
SDK состоит из большого количества алгоритмов, практически все алгоритмы написаны на языке C# и не зависят от платформы выполнения.
Исключением являются алгоритмы для работы с двухмерной графикой - VintaSoft Imaging .NET SDK 11.0 и предыдущие версии используют
библиотеку System.Drawing.Common от компании Microsoft для работы с двухмерной графикой.
Библиотека System.Drawing.Common имеет хорошую производительность и работает только в Windows.
Начиная с .NET Core компания Microsoft пыталась создать кросс-платформенную версию библиотеки System.Drawing.Common.
Мы рассчитывали, что сможем использовать кросс-платформенную версию библиотеки System.Drawing.Common и тем самым
сможем предоставить кросс-платформенную поддержку в VintaSoft Imaging .NET SDK.
К сожалению в начале 2022 года компания Microsoft объявила, что она прекращает попытки создать кросс-платформенную версию библиотеки System.Drawing.Common.
Компания Microsoft заявила, что библиотека System.Drawing.Common отныне является только библиотекой для Windows
и предложила разработчикам использовать сторонние библиотеки для работы с двухмерной графикой.
Вышеизложенная информация может быть найдена в
статье "System.Drawing.Common поддерживается только в Windows".
Мы начали тестировать сторонние библиотеки для работы с двухмерной графикой, когда мы поняли, что мы не сможем использовать библиотеку System.Drawing.Common
для создания кросс-платформенной версии SDK.
Наши тесты показали, что библиотека SkiaSharp от компании Google является быстрой и профессиональной библиотекой для работы с двухмерной графикой.
Мы полностью пересмотрели все алгоритмы, которые работают с двухмерной графикой и теперь SDK рисует двухмерную графику с помощью движка рисования
(класса Vintasoft.Imaging.Drawing.DrawingEngine) и больше напрямую не использует библиотеку System.Drawing.Common.
В версии 12.0 мы создали два движка рисования для Windows, Linux и macOS.
Первый движок рисования создан на базе библиотеки SkiaSharp и является кросс-платформенным движком рисования для Windows, Linux и macOS.
Движок рисования находится в сборке Vintasoft.Imaging.Drawing.Skia.dll.
Второй движок рисования создан на базе библиотеки System.Drawing.Common и может быть использован только в Windows.
Движок рисования находится в сборке Vintasoft.Imaging.Gdi.dll.
Для работы SDK не требуется движок рисования, если SDK не работает с двухмерной графикой и не рисует текст.
Например, SDK не нужен движок рисования для загрузки растрового изображения (TIFF, PNG, JPEG, DICOM, ...) с файла или получения метаданных изображения.
Для работы SDK требуется движок рисования, если SDK работает с двухмерной графикой и/или рисует текст.
Например, SDK нужен движок рисования для рендеринга PDF, DOCX, XLSX страниц и для поворота или масштабирования изображения.
В общем случае нужно выбрать и подключить движок рисования к SDK, что сделать очень просто.
Если Вам необходимо создать приложение только для Windows, подключите сборку Vintasoft.Imaging.Gdi.dll к Вашему приложению.
Если Вам необходимо создать приложение для Windows, Linux и macOS, подключите сборку Vintasoft.Imaging.Drawing.Skia.dll и nuget-пакет SkiaSharp 2.88.0 к Вашему приложению.
Наши функциональные, регрессионные и технические тесты показали, что SDK работает одинаково в .NET 6 на Windows 10, Ubuntu Desktop 20.04.3 и macOS 12 "Monterey".
Вторым важным новшеством этой версии является возможность векторного рендеринга PDF, DOCX и XLSX документов в веб просмотрщике изображений.
Ранее веб просмотрщик рендерил отдельные тайлы для страницы документа для каждого масштаба, в котором требовалось отобразить документ.
Теперь веб просмотрщик рендерит страницу документа в виде SVG-контента один раз и масштабирует отрендеренный векторный SVG-контент когда нужно
отобразить документ в новом масштабе. Применение векторного рендеринга существенно увеличило скорость отображения документов в веб просмотрщике и
существенно снизило нагрузку на веб сервер (теперь веб сервер рендерит страницу один раз, а раньше приходилось рендерить тайлы страницы много раз).
Векторный рендеринг в веб просмотрщике изображений можно включить/выключить с помощью функции Vintasoft.Imaging.UI.WebImageViewerJS.set_UseVectorRendering.
Вот скриншот из VintaSoft Web Document Viewer Demo, который демонстрирует настройки веб просмотрщика изображений с включенным векторным рендерингом для документов:
Протестировать векторный рендеринг в веб просмотрщике можно с помощью онлайн демо-приложения VintaSoft ASP.NET Core Document Viewer Demo:
https://demos.vintasoft.com/AspNetCoreDocumentViewerDemo/
Больше информации о релизе VintaSoft Imaging .NET SDK 12.0 можно найти здесь:
https://www.vintasoft.ru/vsimaging-dotnet-history.html