VintaSoft Imaging .NET SDK 12.0 がリリースされました。

ブログ カテゴリ: イメージング.NET

2022/06/27

VintaSoft Imaging .NET SDK の新しいメジャー バージョン 12.0 および関連する Annotation、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# プログラミング言語で記述されており、実行プラットフォームに依存しません。例外は 2 次元グラフィックスを操作するアルゴリズムです。以前のバージョンの SDK では、2 次元グラフィックスの操作に Microsoft の System.Drawing.Common ライブラリを使用していました。

System.Drawing.Common ライブラリは優れたパフォーマンスを備えており、Windows でのみ動作します。

Microsoftは.NET Core以降、System.Drawing.Commonライブラリのクロスプラットフォーム版の作成に取り組んできました。私たちは、System.Drawing.Commonライブラリのクロスプラットフォーム版を将来的に利用できると期待しており、VintaSoft Imaging .NET SDKでもクロスプラットフォームサポートを提供できるようになります。

残念ながら、Microsoftは2022年初頭にSystem.Drawing.Commonライブラリのクロスプラットフォーム版の開発を終了すると発表しました。System.Drawing.CommonライブラリはWindows専用ライブラリとなり、すべての開発者に対し、2次元グラフィックスを扱うにはサードパーティ製ライブラリを使用するよう推奨されました。詳細は記事「System.Drawing.CommonはWindowsでのみサポートされています。」をご覧ください。

System.Drawing.Common ライブラリを使用して SDK のクロスプラットフォーム バージョンを作成できないことに気付いたとき、すぐにサードパーティ製の 2D グラフィック ライブラリの独自のテストを開始しました。そしてすぐに、Google の SkiaSharp ライブラリが 2 次元グラフィックスでの作業にかなり高速でプロフェッショナルなライブラリであることがわかりました。

2D グラフィックスでの作業のすべてのアルゴリズムを完全に見直し、最終的に SDK は描画エンジン (Vintasoft.Imaging.Drawing.DrawingEngine クラス) を使用して 2D グラフィックスを描画し始め、System.Drawing.Common ライブラリを直接使用しなくなりました。

バージョン 12.0 では、Windows、Linux、macOS 用に 2 つの描画エンジンを作成しました。

1 つ目は、Windows、Linux、macOS 用の SkiaSharp ライブラリに基づくクロスプラットフォーム描画エンジンです。この描画エンジンは、Vintasoft.Imaging.Drawing.Skia.dll アセンブリ内にあります。

2 つ目は、Windows 専用の System.Drawing.Common に基づく描画エンジンです。この描画エンジンは、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アセンブリとnugetパケットSkiaSharp 2.88.0への参照を追加してください。

機能テスト、回帰テスト、技術テストの結果、SDKはWindows 10、Ubuntu Desktop 20.04.3、macOS 12 "Monterey"上の.NET 6でも同じように動作することが確認されました。



このリリースの2つ目の重要な新機能は、WebイメージビューアーでPDF、DOCX、XLSXドキュメントをベクターレンダリングできるようになったことです。
以前のWeb画像ビューアは、Web画像ビューア内の異なるズームごとにページのタイルを個別にレンダリングしていました。現在、Web画像ビューアはドキュメントページをSVGコンテンツとして一度にレンダリングし、必要に応じてレンダリングされたベクターSVGコンテンツを拡大縮小して、新しいズームでドキュメントを表示します。ベクターレンダリングの使用により、Webブラウザでのドキュメント表示速度が大幅に向上し、Webサーバーの負荷も大幅に軽減されました(Webサーバーはページを一度だけレンダリングするようになりました。以前はページのタイルを何度もレンダリングする必要がありました)。

Web イメージ ビューアーでのベクター レンダリングは、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/ja/vsimaging-dotnet-history.html