VintaSoft Imaging .NET SDK 12.0 è stato rilasciato

Categoria blog: Imaging.NET

27.06.2022

Siamo orgogliosi di annunciare il rilascio della nuova versione principale 12.0 di VintaSoft Imaging .NET SDK e dei relativi Plug-in (Annotation, PDF, JBIG2, JPEG2000, Document Cleanup, OCR, DICOM, Forms Processing, Office).


La prima, importante novità di questa versione è il supporto multipiattaforma per Windows, Linux e macOS in .NET 6, .NET 5, .NET Core 3.1.

VintaSoft Imaging .NET SDK è un SDK .NET per l'elaborazione di immagini e documenti. L'SDK è costituito da una grande varietà di algoritmi, la maggior parte dei quali sono scritti in linguaggio di programmazione C# e non dipendono dalla piattaforma di esecuzione. Un'eccezione sono gli algoritmi per lavorare con la grafica bidimensionale: le versioni precedenti dell'SDK utilizzavano la libreria System.Drawing.Common di Microsoft per lavorare con la grafica bidimensionale.

La libreria System.Drawing.Common offre buone prestazioni e funziona solo su Windows.

A partire da .NET Core, Microsoft ha cercato di creare una versione multipiattaforma della libreria System.Drawing.Common. Ci aspettavamo di poter utilizzare la versione multipiattaforma della libreria System.Drawing.A un certo punto, saremo in grado di fornire il supporto multipiattaforma in VintaSoft Imaging .NET SDK.

Purtroppo, all'inizio del 2022 Microsoft ha annunciato la fine dei suoi sforzi per creare una versione multipiattaforma della libreria System.Drawing.Common. Ha annunciato che la libreria System.Drawing.Common è ora disponibile solo per Windows e ha suggerito a tutti gli sviluppatori di utilizzare librerie di terze parti per lavorare con la grafica bidimensionale. Maggiori dettagli sono disponibili nell'articolo "System.Drawing.Common supportato solo su Windows".

Abbiamo iniziato subito a testare le librerie grafiche 2D di terze parti quando ci siamo resi conto che non potevamo usare la libreria System.Drawing.Common per creare una versione multipiattaforma dell'SDK. E presto i nostri test hanno dimostrato che la libreria SkiaSharp di Google era una libreria piuttosto veloce e professionale per lavorare con la grafica bidimensionale.

Abbiamo rivisto completamente tutti gli algoritmi di lavoro con la grafica 2D e alla fine l'SDK ha iniziato a disegnare grafica 2D utilizzando il motore di disegno (classe Vintasoft.Imaging.Drawing.DrawingEngine) e ha smesso di utilizzare direttamente la libreria System.Drawing.Common.

Nella versione 12.0 abbiamo creato due motori di disegno per Windows, Linux e macOS.

Il primo è un motore di disegno multipiattaforma basato sulla libreria SkiaSharp per Windows, Linux e macOS. Questo motore di disegno si trova nell'assembly Vintasoft.Imaging.Drawing.Skia.dll.

Il secondo è un motore di disegno basato su System.Drawing.Common, disponibile solo per Windows. Questo motore di disegno si trova nell'assembly Vintasoft.Imaging.Gdi.dll.

L'SDK non richiede l'utilizzo di un motore di disegno se non funziona con grafica 2D e/o non disegna testo. Ad esempio, l'SDK non richiede un motore di disegno per caricare un'immagine raster (TIFF, PNG, JPEG, DICOM, ecc.) da un file o per ottenere i metadati dell'immagine.

L'SDK richiede l'utilizzo di un motore di disegno se funziona con grafica 2D e/o disegna testo. Ad esempio, l'SDK richiede un motore di disegno per il rendering di pagine PDF, DOCX, XLSX e per la rotazione o il ridimensionamento delle immagini.

In generale, è necessario selezionare e connettere un motore di disegno all'SDK, operazione molto semplice. Se si intende creare un'applicazione solo per Windows, aggiungere un riferimento all'assembly Vintasoft.Imaging.Gdi.dll all'applicazione. Se si intende creare un'applicazione per Windows, Linux e macOS, aggiungere un riferimento all'assembly Vintasoft.Imaging.Drawing.Skia.dll e al pacchetto nuget SkiaSharp 2.88.0 all'applicazione.

I nostri test funzionali, di regressione e tecnici hanno dimostrato che l'SDK funziona allo stesso modo in .NET 6 su Windows 10, Ubuntu Desktop 20.04.3 e macOS 12 "Monterey".



La seconda importante novità di questa versione è la possibilità di rendering vettoriale di documenti PDF, DOCX e XLSX nel visualizzatore di immagini web.
In precedenza, il visualizzatore di immagini web visualizzava riquadri separati della pagina per ogni diverso zoom. Ora il visualizzatore di immagini web visualizza la pagina del documento come contenuto SVG in una sola volta e poi ridimensiona il contenuto SVG vettoriale renderizzato quando necessario per visualizzare il documento con un nuovo zoom. L'utilizzo del rendering vettoriale ha aumentato significativamente la velocità di visualizzazione dei documenti nel browser web e ha anche ridotto significativamente il caricamento del server web (ora il server web visualizza la pagina una sola volta, mentre prima era necessario visualizzare i riquadri della pagina più volte).

Il rendering vettoriale nel visualizzatore di immagini web può essere abilitato/disabilitato utilizzando la funzione Vintasoft.Imaging.UI.WebImageViewerJS.set_UseVectorRendering.
Ecco uno screenshot di "VintaSoft Web Document Viewer Demo", che mostra le impostazioni del visualizzatore di immagini Web con rendering vettoriale abilitato:
VintaSoft Imaging .NET SDK 12.0: Impostazioni del visualizzatore di immagini Web Impostazioni visualizzatore

È possibile testare rapidamente il funzionamento del rendering vettoriale nel visualizzatore di immagini Web utilizzando "VintaSoft ASP.NET Core Document Viewer Demo": https://demos.vintasoft.com/AspNetCoreDocumentViewerDemo/


Ulteriori informazioni sulla versione 12.0 di VintaSoft Imaging .NET SDK sono disponibili qui: https://www.vintasoft.com/vsimaging-dotnet-history.html