GroupDocs.Viewer for .NET 24.12 Release Notes

This monthly release includes 4 new features with changes in public API and 9 bug fixes.

Full list of changes in this release

KeyCategorySummary
VIEWERNET‑4630FeatureAdd Open Fixed-layout Document (OFD) file-format support
VIEWERNET‑5143FeatureAdd possibility to disable updating fields with new option when saving WordProcessing documents
VIEWERNET‑5134FeatureDisplay full email address when rendering email messages
VIEWERNET‑4929Feature[UI] Migrate to new Angular UI
VIEWERNET‑5127FixUnknown document property name when saving specific DOCX to HTML
VIEWERNET‑5137FixFix slide size according to notes
VIEWERNET‑5148FixFile corrupted exception when rendering EPS
VIEWERNET‑3847FixMake readable exception for old versions of XLS files
VIEWERNET‑4277Fix[UI] Search on a large PPTX presentation makes page hang
VIEWERNET‑4565Fix[UI] Zoom-in and zoom-out buttons in Viewer.UI toolbar add blue background randomly when opening arbitrary image
VIEWERNET‑4890Fix[UI] After zoom in and out, there are some blank pages appear at the bottom of the document
VIEWERNET‑4928Fix[UI] GroupDocs Viewer .Net UI cannot zoom in excel files
VIEWERNET‑5095Fix[UI] Presentation button is not working

OFD support

Starting from this version the GroupDocs.Viewer for .NET supports the Open Fixed-layout Document (OFD) file format. More on this format is described here.

Disabling updating fields

A new public property was introduced in this version — UpdateFields boolean property in the Options.WordProcessingOptions class. It’s purpose is to disable updating fileds in WordProcessing documents like DOC, DOCX, DOCM and so on while saving these documents to the HTML, PDF, or images. More on this new feature here.

New font requierments

Starting from this version, the GroupDocs.Viewer for .NET requires the next fonts to be installed in the OS.

  • For displaying the newly supported OFD files the SimSun.ttf font must be installed in OS, or exception will be thrown during opening such files. It is not an issue on MS Windows, where all the Windows versions and editions starting from the Windows 7 have the pre-installed SimSun.ttf, but it may be an issue on Linux. Using the GroupDocs.Viewer API it is possible to specify SimSun on Linux explicitly, here is described how.
  • For proper displaying the Spreadsheet documents (like XLS, XLSX and so on) the “Calibri” font is required, or document representation may be distorted. Again, “Calibri” is pre-installed on Windows, but is usually missing on Linux.

New Angular UI

We’re thrilled to announce the latest release of the GroupDocs.Viewer.UI package! This update focuses on performance improvements, expanded customization options, and modernized dependencies to provide an even smoother document viewing experience.

New GroupDocs.Viewer.UI

Key Highlights

  • Upgraded Angular SPA for Better Performance
    We’ve updated the Angular Single Page Application (SPA) to match the one used in our online GroupDocs.Viewer App. This version brings:

    • Optimized Performance by reducing unnecessary content updates.
    • Enhanced User Experience on both desktop and mobile devices.
  • Extended UI Configuration Options
    The UI configuration has been updated and expanded, making it easier to customize the interface. You can now show or hide specific UI controls and sections. For full details, see the README.

    Here’s a detailed list of available configuration options:

    namespace GroupDocs.Viewer.UI.Core.Configuration
    {
        public class Config
        {
            /// <summary>
            /// Rendering mode for the UI.
            /// Possible values: "html", "image".
            /// Default value is "html".
            /// </summary>
            public RenderingMode RenderingMode { get; set; } = RenderingMode.Html;
    
            /// <summary>
            /// When enabled, the app will use pre-generated static content via GET requests.
            /// Default value is false.
            /// </summary>
            public bool StaticContentMode { get; set; } = false;
    
            /// <summary>
            /// File to load by default.
            /// </summary>
            public string InitialFile { get; set; }
    
            /// <summary>
            /// Number of pages to preload.
            /// </summary>
            public int PreloadPages { get; set; } = 3;
    
            /* Control Visibility Settings */
    
            public bool EnableHeader { get; set; } = true;
            public bool EnableToolbar { get; set; } = true;
            public bool EnablePageSelector { get; set; } = true;
            public bool EnableDownloadPdf { get; set; } = true;
            public bool EnablePrint { get; set; } = true;
            public bool EnablePresentation { get; set; } = true;
            public bool EnableZoom { get; set; } = true;
            public bool EnableSearch { get; set; } = true;
            public bool EnableFileBrowser { get; set; } = true;
            public bool EnableFileUpload { get; set; } = true;
            public bool EnableThumbnails { get; set; } = true;
            public bool EnableContextMenu { get; set; } = true;
            public bool EnableHyperlinks { get; set; } = true;
    
            /* Language and Localization Settings */
    
            public bool EnableLanguageSelector { get; set; } = true;
            public LanguageCode DefaultLanguage { get; set; } = LanguageCode.English;
            public LanguageCode[] SupportedLanguages { get; set; } = LanguageCode.All;
        }
    }
    
  • New Static Content Mode
    We’ve introduced Static Content Mode, which allows you to display pre-generated static content via GET requests.
    Check out this sample application for implementation details.

  • Updated Dependencies
    Dependencies have been upgraded to address security vulnerabilities and improve stability.

  • .NET 8 Support
    The package now targets .NET 8, ensuring compatibility with the latest framework features.

  • Branch Updates

    • The previous master branch is now 6.0.x.
    • The .NET Core 3.1 version has moved to the 3.1.x branch.
    • The current development branch is now main.

Public API changes