VintaSoft Imaging .NET SDK 12.0 已发布

博客类别:成像.NET

2022/06/27

我们荣幸地宣布推出 VintaSoft Imaging .NET SDK 的全新主要版本 12.0,以及相关的注释、PDF、JBIG2、JPEG2000、Document Cleanup、OCR、DICOM、Forms Processing和 Office 插件。[...]


此版本最重要的新功能是 .NET 6、.NET 5 和 .NET Core 3.1 对 Windows、Linux 和 macOS 的跨平台支持。

VintaSoft Imaging .NET SDK 是一个用于处理图像和文档的 .NET SDK。该 SDK 包含多种算法,其中大部分使用 C# 编程语言编写,并且不依赖于执行平台。例外情况是处理二维图形的算法--SDK 的早期版本使用 Microsoft 的 System.Drawing.Common 库来处理二维图形。

System.Drawing.Common 库性能良好,但仅适用于 Windows 系统。

从 .NET Core 开始,微软尝试创建 System.Drawing.Common 库的跨平台版本。我们预期在某个时间点可以使用 System.Drawing.Common 库的跨平台版本,从而在 VintaSoft Imaging .NET SDK 中提供跨平台支持。

遗憾的是,微软在 2022 年初宣布终止了 System.Drawing.Common 库跨平台版本的开发工作。他们宣布 System.Drawing.Common 库现在仅适用于 Windows 系统,并建议所有开发者使用第三方库来处理二维图形。更多详情请参阅文章 "System.Drawing.Common 仅在 Windows 系统上受支持"

当我们意识到无法使用 System.Drawing.Common 库创建跨平台版本的 SDK 时,我们立即开始测试第三方 2D 图形库。很快,我们的测试表明,Google 的 SkiaSharp 库是一个相当快速且专业的二维图形处理库。

我们已彻底重写了所有处理 2D 图形的算法,最终 SDK 开始使用绘图引擎(Vintasoft.Imaging.Drawing.DrawingEngine 类)绘制 2D 图形,不再直接使用 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 不处理 2D 图形和/或不绘制文本,则无需使用绘图引擎。例如,SDK 不需要绘图引擎即可从文件中加载光栅图像(TIFF、PNG、JPEG、DICOM 等)或获取图像元数据。

如果 SDK 处理 2D 图形和/或绘制文本,则需要使用绘图引擎。例如,SDK 需要绘图引擎来渲染 PDF、DOCX、XLSX 页面以及进行图像旋转或缩放。

通常情况下,需要选择绘图引擎并将其连接到 SDK,这非常简单。如果您要创建仅限 Windows 的应用程序,请将对 Vintasoft.Imaging.Gdi.dll 程序集的引用添加到您的应用程序中。如果您要创建适用于 Windows、Linux 和 macOS 的应用程序,请将 Vintasoft.Imaging.Drawing.Skia.dll 程序集和 SkiaSharp 2.88.0 NuGet 包添加到您的应用程序中。

我们的功能、回归和技术测试表明,该 SDK 在 Windows 10、Ubuntu Desktop 20.04.3 和 macOS 12"Monterey"上的 .NET 6 中运行方式相同。



此版本第二个重要的新功能是能够在 Web 图像查看器中对 PDF、DOCX 和 XLSX 文档进行矢量渲染。
以前,网页图像查看器会针对不同的缩放级别渲染页面的单独图块。现在,网页图像查看器会一次性将文档页面渲染为 SVG 内容,然后在需要以新的缩放级别显示文档时缩放渲染的矢量 SVG 内容。矢量渲染的使用显著提高了网页浏览器中文档的显示速度,同时也显著降低了网页服务器的负载(现在网页服务器只需渲染一次页面,而以前需要多次渲染页面的各个图块)。

可以使用 Vintasoft.Imaging.UI.WebImageViewerJS.set_UseVectorRendering 函数启用/禁用网页图像查看器中的矢量渲染。
以下是 VintaSoft Web Document Viewer Demo 的屏幕截图,其中显示了启用矢量渲染的 Web 图像查看器的设置:
VintaSoft Imaging .NET SDK 12.0: Web Image Viewer Settings

您可以使用 VintaSoft ASP.NET Core 文档查看器演示快速测试 Web 图像查看器中的矢量渲染效果:https://demos.vintasoft.com/AspNetCoreDocumentViewerDemo/


更多关于 VintaSoft Imaging .NET SDK 12.0 版本的发布信息,请访问:https://www.vintasoft.com/zh/vsimaging-dotnet-history.html