GroupDocs.Viewer for .NET 23.3 Release Notes

There are 15 features and bug fixes in this release.

Full list of changes in this release

KeyCategorySummary
VIEWERNET‑4283FeatureAdd Amazon AZW3/KF8 ebook (.azw3) file-format support
VIEWERNET‑4272FeatureHighlight search text in file preview
VIEWERNET‑2646FixThe image was cut when rendering from PDF with images in Linux
VIEWERNET‑2823FixInvalid image block length
VIEWERNET‑3015FixMobi file detected as damaged
VIEWERNET‑3591FixService hangs when disposing Viewer in .NET
VIEWERNET‑3992FixThreading Issue
VIEWERNET‑4152FixOperation is not valid due to the current state of the object when rendering Excel spreadsheet to PNG
VIEWERNET‑4205FixMVC Demo: Generic error occurred in GDI+
VIEWERNET‑4243FixSlow Load time in Viewer
VIEWERNET‑4246FixObject reference not set to an instance of an object? error occurs when converting this excel file
VIEWERNET‑4250FixFont not embedded when converting DOCX to HTML in .NET
VIEWERNET‑4260FixThe type initializer for ‘Gdip’ threw an exception when rendering PDF
VIEWERNET‑4263FixObject reference not set to an instance of an object exception when rendering DOCX file
VIEWERNET‑4266FixConverting STL files to HTML produces empty file

Major Features

This release includes two features:

Added support for Amazon AZW3 ebook

AZW3 is ebook file. This ebook format is used by Amazon Kindle, this file format is developed for Amazon Kindle devices. The format is an enhancement to older AZW files and is used on Kindle Fire devices only with backward compatibility for the ancestor file format i.e. MOBI and AZW.

/// <summary>
/// Amazon AZW3/KF8 ebook
/// </summary>
public static readonly FileType AZW3 = new FileType("Amazon Kindle Format 8 (KF8) eBook", ".azw3");

Highlight search text in file preview

In GroupDocs.Viewer.UI search term can be set now in the file preview request. It provides ability to apply search term immediately after opening the file.

There are two possible ways to pass search term.

  http://localhost:8080/viewer?file=<file_name>&search=<search_term>
/// Implement the service
class MySearchTermResolver : ISearchTermResolver
{
     public Task<string> ResolveSearchTermAsync(string filepath)
     {
          /// resolve search term by file path
          return Task.FromResult("<search term>");
     }
}

...

// and register it
services.AddSingleton<ISearchTermResolver, MySearchTermResolver>();